Cin*_*316 0 java for-loop break java.util.scanner
当我使用这段代码时:
Scanner scan = new Scanner(System.in);
String codeEntered = "";
for ( ; ; ){
System.out.print("Enter Code or Press Q to Quit:\n");
codeEntered = scan.nextLine();
if (codeEntered == "Q"){
break;
}
//Do stuff here.
}
System.out.println("Goodbye!");
Run Code Online (Sandbox Code Playgroud)
即使我输入"Q",我也无法摆脱for循环.这段代码有什么问题?
if (codeEntered == "Q"){
Run Code Online (Sandbox Code Playgroud)
您通常应该使用equals()而不是operator==在比较对象时使用.(并且String是一个对象!)
operator==检查身份 - 如果两个操作数是同一个对象,同时equals()检查它们的内容是否相等.
尝试:
if ("Q".equals(codeEntered)){
Run Code Online (Sandbox Code Playgroud)