我有下面的do while代码,当输入的文本是Stop时,我试图结束循环。然而,即使我在控制台中键入Stop,它也不起作用。我试着调试它,看到它试图比较停止文本,但没有停止它。我不明白问题出在哪里。这是在eclipse中运行的java代码。
import java.util.Scanner;
public class Application8_Switch {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter a string to match the output");
String text;
do {
text = input.nextLine();
switch (text) {
case "start":
System.out.println("Machine started");
break;
case "end":
System.out.println("This Machine stopped");
break;
default:
System.out.println("Command not recognized");
break;
}
} while (text != "Stop");
}
}
发布于 2018-08-20 08:40:57
Java中的字符串并不是像您想象的那样使用==
或!=
进行比较的。
使用!text.Equals("Stop")
而不是text != "Stop"
。
https://stackoverflow.com/questions/51922888
复制相似问题