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 =并获得答案。 另外,我想在新代码中实现卧床。
感谢您的指导。
答案 0 :(得分:1)
为了实现PEMDAS并执行多项操作,您将需要保留所有输入,直到用户输入“ =”为止。一种实现方法是reverse polish notation。只需将字符串转换为RPN,然后遍历方程即可。