Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Calculator {
- static double num1, num2, returnValue;
- static boolean debug;
- public static void main(String[] args) {
- if (args.length == 3) {
- withArgs(args[0], Double.parseDouble(args[1]), Double.parseDouble(args[2]));
- } else if (args.length <= 0) {
- withoutArgs();
- } else if (args.length == 1 && args[0].equalsIgnoreCase("--debug")) {
- System.out.println("Debug mode enabled");
- debug = true;
- withoutArgs();
- }else {
- error();
- }
- }
- private static void withArgs(String type, double num1, double num2) {
- switch (type.toLowerCase()) {
- case "a":case "add":case "addition":
- returnValue = addition(num1, num2);
- System.out.println(num1 + " + " + num2 + " = " + returnValue);
- break;
- case "s":case "sub":case "subtraction":
- returnValue = subtraction(num1, num2);
- System.out.println(num1 + " - " + num2 + " = " + returnValue);
- break;
- case "m":case "mul":case "mult":case "multi":case "multiplication":
- returnValue = multiplication(num1, num2);
- System.out.println(num1 + " * " + num2 + " = " + returnValue);
- break;
- case "d":case "div":case "division":
- returnValue = division(num1, num2);
- System.out.println(num1 + " / " + num2 + " = " + returnValue);
- break;
- default:
- System.out.println("Invalid math operation."
- +"\nValid operations: Addition, Subtraction, Multiplication, Division.");
- System.exit(0);
- break;
- }
- }
- private static void withoutArgs() {
- try (Scanner in = new Scanner(System.in)) {
- String type;
- System.out.print("Math Operation: ");
- type = in.nextLine();
- System.out.print("First Number: ");
- num1 = in.nextDouble();
- System.out.print("Second Number: ");
- num2 = in.nextDouble();
- withArgs(type, num1, num2);
- } catch (Exception e) {
- if (debug == true) {
- e.printStackTrace();
- } else {
- System.out.println("Invalid input. Inputs types:"
- +"\n Math Operation: String"
- +"\n First Number: Double"
- +"\n Second Number: Double");
- }
- }
- }
- private static void error() {
- System.out.println("Invalid usage."
- +"\nValid usage: Calculator [<operation>] [<first number>] [<second number>]");
- }
- private static double addition(double num1, double num2) {
- return num1 + num2;
- }
- private static double subtraction(double num1, double num2) {
- return num1 - num2;
- }
- private static double multiplication(double num1, double num2) {
- return num1 * num2;
- }
- private static double division(double num1, double num2) {
- return num1 / num2;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement