do {
System.out.println("What is the Secret Word");
secretWord.equalsIgnoreCase("Water");
if (secretWord != 'Water')
secretWord.equalsIgnoreCase("Water");
}
我试图让用户猜出水这个词,如果他们不猜,那么它会让用户猜 再。如果他们做对了,程序就会回应秘密词水。
- 在第 4 行向下,您需要将"水"更改为"水",因为它是一个字符串。
- 您还缺少 if 语句的括号。
- 第
secretWord != "Water"
行中的 != 不用于确定一个字符串是否不等于另一个字符串。而是使用.equals
来确定一个字符串等于另一个字符串。
请尝试以下代码:
Scanner scanner = new Scanner(System.in);
do {
System.out.println("What is the Secret Word");
String secretWord = scanner.next();
secretWord.equalsIgnoreCase("Water"); // Delete this - line does nothing
if (!secretWord.equals("Water")) {
secretWord.equalsIgnoreCase("Water");
}
}while (!secretWord.equals("Quit"));
另外,你在这个问题上标记了Java和Javascript。这是两种完全不同的语言。我假设你可能只是指Java。
这是一种执行您所描述的方法 - 反复提示用户输入秘密单词,直到他们正确为止。
它设置了一个Scanner
来捕获来自键盘的输入,然后反复循环 -while (true) { ... }
- 向用户打印内容,捕获输入,并检查它是否与"水"匹配。如果匹配,它将打印消息并使用break
退出while
循环。
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("What is the Secret Word? ");
String input = scanner.next();
if (input.equalsIgnoreCase("water")) {
System.out.println("you guessed right!");
break;
}
}
尝试下面的代码。
do {
System.out.println("What is the Secret Word");
if (!secretWord.equalsIgnoreCase("Water"))
System.out.println("Water is not Equal.");
}
secretWord != 'Water'
您必须使用" 而不是">