我正在练习,我想创建一个带有无限循环的代码,但我的问题是我不知道如何比较字符或从键盘读取字符。所以,到目前为止我已经完成了下面的代码,有什么建议吗?
Scanner keyboard = new Scanner(System.in);
System.out.println("Guess my favorite character: ");
String letter = keyboard.nextLine();
char secret = 'a';
while (true) {
System.out.println(" Enter guess:");
String guess = keyboard.nextLine();
for (int i = 0; i < guess.length(); i++) {
if (guess.chartAt(i).equals('a')) {
break;
}
}
System.out.println("YOU got it!");
}
}
}
break
只跳出for
循环,所以你有一个无限的while true
循环。您可能想尝试这种方式。
Scanner keyboard = new Scanner(System.in);
System.out.println("Guess my favorite character: ");
String letter = keyboard.nextLine();
char secret = 'a';
while (true) {
System.out.println(" Enter guess:");
String guess = keyboard.nextLine();
for (int i = 0; i < guess.length(); i++) {
if (guess.chartAt(i).equals('a')) {
System.out.println("YOU got it!");
return;
}
}
}
尝试这样做;
String secret = "a";
Boolean isFounded = false;
while (true) {
System.out.println(" Enter guess:");
String guess = keyboard.nextLine();
for (int i = 0; i < guess.length(); i++) {
if (guess.equals(secret)) {
System.out.println("YOU got it!");
isFounded = true;
}
if(isFounded) break;
}
if(isFounded) break;
}
这里只有一个循环可以尝试一下。
String secret = "a";
String guess = "";
Scanner keyboard = new Scanner(System.in);
while(!guess.contains(secret)){
System.out.println(" Enter guess:");
guess = keyboard.nextLine();
}
System.out.println("YOU got it!");