具有多个输入数字和运算符的命令行计算器?

时间:2018-09-11 19:01:33

标签: java calculator

Java新手;我已经创建了一个命令行计算器,该计算器可以从用户处获得一个双精度值,并获得一个操作符号,然后从用户处获得另一个双精度值,并计算出金额。

这是我的代码。

import java.util.Scanner;

public class forthProblem {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        double numb1, numb2, add, subtract, multiply, divide;
        char operation;


        while (true) {
            System.out.println("Calculate: ");
            numb1 = in.nextDouble();
            operation = in.next().charAt(0);
            numb2 = in.nextDouble();

            switch (operation) {
            case '+':
                add = numb1 + numb2;
                System.out.println(add);
                break;

            case '-':
                subtract = numb1 - numb2;
                System.out.println(subtract);
                break;
            case '*':
                multiply = numb1 * numb2;
                System.out.println(multiply);
                break;
            case '/':
                divide = numb1 / numb2;
                System.out.println(divide);
                break;
            }
        }
    }
}

我想弄清楚的是如何能够从用户那里获得多个号码并执行多项操作。 例如,用户可以输入(3 + 4)* 4/6 =并获得答案。 另外,我想在新代码中实现卧床。

感谢您的指导。

1 个答案:

答案 0 :(得分:1)

为了实现PEMDAS并执行多项操作,您将需要保留所有输入,直到用户输入“ =”为止。一种实现方法是reverse polish notation。只需将字符串转换为RPN,然后遍历方程即可。