【发布时间】:2013-09-06 17:46:51
【问题描述】:
当我创建一个变量并将代码包装在一个 while 循环中时,它永远不会重复。这是我尝试过的代码示例。
String repeat = "y";
Scanner keyboard = new Scanner(System.in);
while (repeat == "y"){
String word1 = "this";
String word2 = "that";
String word3 = word1 + word2;
System.out.println(word3);
for(int x = 10; x<20; x = x+1){
word3 = word1 + word3;
System.out.println(word3);
}
repeat = keyboard.nextLine();
}
无论脚本末尾的输入是什么,它都会结束。有什么帮助吗?
【问题讨论】:
-
使用
String的equals方法比较String值,而不是==,后者比较对象引用以确定它们是否引用同一个对象。 -
@rgettman 它们在这里是文字,除非代码中缺少某些东西。
-
@SotiriosDelimanolis 是的,它们是文字,所以
"y"将被实习。出于这个原因,将输入while循环。但是在repeat = keyboard.nextLine();之后,repeat将不再是文字。无论哪种方式,这里都需要.equals。 -
@rgettman 对,下次它会失败。我停止思考:)
标签: java string loops while-loop