gpt4 book ai didi

java - Do-While 循环中的 Switch 语句不退出

转载 作者:行者123 更新时间:2023-12-02 06:51:09 24 4
gpt4 key购买 nike

由于某种原因,在我输入“stop”后代码没有退出。为什么?逐步调试显示,在我输入“stop”后,它的值恰好由“s”、“t”、“o”、“p”组成,没有任何换行符等 - 但是,代码仍然不会导出。请问谁能告诉我为什么吗?

import java.util.Scanner;

public class Application {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

// asking username
System.out.print("Username: ");
String username = input.nextLine();

String inpText;
do {
System.out.print(username + "$: ");
inpText = input.nextLine();
System.out.print("\n");
// analyzing
switch (inpText) {
case "start":
System.out.println("> Machine started!");
break;
case "stop":
System.out.println("> Stopped!");
break;
default:
System.out.println("> Command not recognized");
}
} while (inpText != "stop");

System.out.println("Bye!..");
}
}

最佳答案

  • compare Strings使用 .equals() 而不是 ==,除非您真的知道自己在做什么。
inpText != "stop" //Not recommended
!"stop".equals(inpText) //recommended

Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

关于java - Do-While 循环中的 Switch 语句不退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18014683/

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