您好我似乎无法让我的while循环在我输入字符串“quit”时终止代码。任何帮助,将不胜感激。键入“退出”时,Java循环不会退出
package CalculatorProg;
import java.util.Scanner;
public class MainDriver {
public static void main(String[] args){
BinaryExpression operation = new BinaryExpression();
@SuppressWarnings("resource")
Scanner userinput = new Scanner(System.in);
while(true){
String calc;
String num1;
String num2;
num1 = userinput.next();
calc = userinput.next();
num2 = userinput.next();
String[] input = new String[5];
input[0] = num1;
input[1] = " ";
input[2] = calc;
input[3] = " ";
input[4] = num2;
if(calc.equals("+")){
System.out.print(num1);
System.out.print(" ");
System.out.print(calc);
System.out.print(" ");
System.out.print(num2);
System.out.print(" ");
System.out.print("=");
System.out.print(" ");
int x, y;
x = Integer.parseInt(num1);
y = Integer.parseInt(num2);
System.out.println(operation.Add(x, y));
}
else if(calc.equals("-")){
System.out.print(num1);
System.out.print(" ");
System.out.print(calc);
System.out.print(" ");
System.out.print(num2);
System.out.print(" ");
System.out.print("=");
System.out.print(" ");
int x, y;
x = Integer.parseInt(num1);
y = Integer.parseInt(num2);
System.out.println(operation.Subtract(x, y));
}
else if(calc.equals("*")){
System.out.print(num1);
System.out.print(" ");
System.out.print(calc);
System.out.print(" ");
System.out.print(num2);
System.out.print(" ");
System.out.print("=");
System.out.print(" ");
int x, y;
x = Integer.parseInt(num1);
y = Integer.parseInt(num2);
System.out.println(operation.Multiply(x, y));
}
else if(calc.equals("/")){
System.out.print(num1);
System.out.print(" ");
System.out.print(calc);
System.out.print(" ");
System.out.print(num2);
System.out.print(" ");
System.out.print("=");
System.out.print(" ");
int x, y;
x = Integer.parseInt(num1);
y = Integer.parseInt(num2);
System.out.println(operation.Divide(x, y));
}
else{
System.out.println("The operation is not valid.");
}
if(input[0].equalsIgnoreCase("quit")){
break;
}
}
System.exit(0);
}
}
我想你一定是 '操作是无效的'。把你的if条件退出,否则如果。如果你使用后,如果它测试的第一个,然后来到第二个如果。 –
这个'input'数组的目的是什么?只是为了让事情更复杂? 'num1 = userinput.next();'后面的' – Holger
; 'use use if(num1.equalsIgnoreCase(“quit”)){break35; }' – laune