gpt4 book ai didi

输入 "quit"时 Java 循环未退出

转载 作者:行者123 更新时间:2023-11-30 07:36:41 25 4
gpt4 key购买 nike

您好,当我输入字符串“quit”时,我似乎无法让 while 循环终止代码。任何帮助将不胜感激。

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);
}
}

最佳答案

代码正在等待用户输入 calc = userinput.next();

公共(public) boolean 值hasNext()如果此扫描器的输入中有另一个标记,则返回 true。此方法可能会在等待输入扫描时阻塞。扫描仪不会前进超过任何输入。

关于输入 "quit"时 Java 循环未退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35301101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com