我做了一个控制台计算器,用户可以像这样在一行中输入数字和操作;
5 + 5
按回车键后显示结果如下;
结果:5+5=10
我正在尝试将每个完整的结果存储到一个数组中,以便在用户按下(l)时打印或列出它们,但我无法成功,因为我的代码总是存储最后一次计算。我想当用户按下l时打印计算结果如下:
操作:l
以前的计算:
5 + 5 = 100
4 * 5 = 20
这是我的密码,我提前谢谢你。
public static void main(String[] args) {
do {
System.out.print("**********************************************\n"
+ "Enter L to list previous calculations.\nEnter Q to exit.\n"
+ "**********************************************\n"
+ "Operation: ");
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
String[] operation = input.split(" ");
if (input.length() < 5) {
if (input.equals("q")) {
System.out.print("\n\n**********************************************\n"
+ "ByeBye\n"
+ "**********************************************\n");
System.exit(0);
}
if (input.equals("l")) {
System.out.println("\n\nPrevious Calculations:\n");
continue;
} else {
System.out.println("\n\nWrong Operation!!!");
continue;
}
}
int first_number = Integer.parseInt(operation[0]);
int second_number = Integer.parseInt(operation[2]);
int outcome = 0;
boolean wrong_operation = false;
String operator = operation[1];
switch (operator) {
case "+":
outcome = first_number + second_number;
break;
case "-":
outcome = first_number - second_number;
break;
case "*":
outcome = first_number * second_number;
break;
case "/":
outcome = first_number / second_number;
break;
default:
wrong_operation = true;
}
String answer;
String array_item;
if (wrong_operation) {
System.out.println("\n\nWrong Operation!!! " + "(" + operator + ")");
} else {
answer = String.valueOf(outcome);
array_item = input + " = " + answer;
System.out.println("\n\nResult: " + array_item);
char[] myArray = array_item.toCharArray();
System.out.println(myArray);
}
} while (true);
}
1条答案
按热度按时间w41d8nur1#
您可以声明一个列表来存储de之前的计算
do
声明如下:然后在显示答案后存储结果
最后,在选择该选项时打印以前的计算: