【发布时间】:2018-06-01 23:08:45
【问题描述】:
我不知道为什么我的 while 循环不会中断并且它一直在运行
import java.util.Scanner;
public class BirthdayReminder
{
public static void main (String[] args)
{
Scanner input = new Scanner(System.in);
String[] BDay = new String[10];
String[] friend = new String[10];
int Lc = 0;
String i;
while(Lc < 10) {
System.out.println("enter a friends name or zzz to quit");
i = input.nextLine();
if(i == "zzz") {
break;
}
else if(i != "zzz"){
friend[Lc] = i;
System.out.println("enter their birthday.");
i = input.nextLine();
BDay[Lc] = i;
Lc++;
return;
}
}
System.out.println("hi");
}
}
【问题讨论】:
-
Java 基础知识,这将始终返回 false:
i == "zzz"。应该改为"zzz".equals(i)。 -
@LuisMuñoz 它不会总是返回 false。
-
这种情况下,变量
i和匿名对象“zzz”怎么可能是同一个对象呢? -
感谢您对 "zzz".equals(i) 的帮助。
标签: java loops while-loop break