• File: CalculatorArgs.java
  • Full Path: /home/lmnet/fm-site/files/JavaProgramming/JAVAPROGRAMS/CalculatorArgs.java
  • Date Modified: 12/03/2025 4:07 AM
  • File size: 4.04 KB
  • MIME-type: text/x-java
  • Charset: utf-8
 
Open Back
//Code by Regie
//Name: Calculator using args

public class Calculator  {
    public static void main(String[] args) {
        double  num1 = 0;
        double  num2 =0;
        try { //Handle Numberformat error
            if (args.length == 0) {
            System.out.println("Commands: ");
            System.out.println("Compiled Java File:");
            System.out.println("java Calculator <num1> <op> <num2>");
            System.out.println("Example: java Calculator 1 + 1");
            System.out.println();
            System.out.println("Commands: ");
            System.out.println("None Compiled Java File:");
            System.out.println("java Calculator.java <num1> <op> <num2>");
            System.out.println("Example: java Calculator.java 1 + 1");
            System.out.println();
            System.out.println("Use this 4 Operators: + - \\* /");
            System.out.println("Addition: +");
            System.out.println("Subtraction: -");
            System.out.println("Multiplication: \\*");
            System.out.println("Division: /");
            return;
        } else if (!(args.length == 3))  {
            System.out.println("Invalid Command!\nExample: java Calculator 1 + 1\nExample: java Calculator.java 1 + 1");
            return;
        } else if (!((args[1].equals("+")) || (args[1].equals("-")) || (args[1].equals("*")) || (args[1].equals("/")))) {
            System.out.println("Invalid Operator!\nExample: java Calculator 1 + 1\n" + //
                                "Example: java Calculator.java 1 + 1");
            System.out.println("Use this 4 Operators: + - \\* /");
            System.out.println("Addition: +");
            System.out.println("Subtraction: -");
            System.out.println("Multiplication: \\*");
            System.out.println("Division: /");
            return;
        } else if (((args[0].equals("0")) || (args[2].equals("0"))) && (args[1].equals("/"))) {
            System.out.println("Cannot use 0 in Division");
            return;
        }
        num1 = Double.parseDouble(args[0]);
        num2 = Double.parseDouble(args[2]);
        }catch (NumberFormatException e) {
            System.out.println("Invalid Command! You entered a String, please use number.\nExample: java Calculator 1 + 1");
            return;
        }
        double answerDouble = 0;
        int answerInt = 0;
        String answer = "";

        switch (args[1]) {
            case "+":
                answerDouble = num1+num2;
                answer = Double.toString(answerDouble);
                if (!(args[0].contains(".") || args[2].contains("."))) {
                    answerInt = (int) answerDouble;
                    answer = Integer.toString(answerInt);
                }
                break;
            case "-":
                answerDouble = num1-num2;
                answer = Double.toString(answerDouble);
                if (!(args[0].contains(".") || args[2].contains("."))) {
                    answerInt = (int) answerDouble;
                    answer = Integer.toString(answerInt);
                }
                break;
            case "*":
                answerDouble  = num1*num2;
                answer = Double.toString(answerDouble);
                if (!(args[0].contains(".") || args[2].contains("."))) {
                    answerInt = (int) answerDouble;
                    answer = Integer.toString(answerInt);
                }
                break;
            case "/":
                answerDouble = (num1)/num2;
                answer = Double.toString(answerDouble);
                if (num1%num2 == 0) {
                    answerInt = (int) answerDouble;
                    answer = Integer.toString(answerInt);
                }
                break;
        }
        System.out.println("Answer = "+answer);
	answerInt = (int) answerDouble; 
        if(answerInt == 2147483647){
        System.out.println("Answer might be wrong! 2147483647 is the integer limit.");
        }
        if(answerInt == -2147483648){
        System.out.println("Answer might be wrong! -2147483648 is the integer limit."); 
	  }
    }
}