我收到无效字符常量的错误,我做错了什么?


do {
System.out.println("What is the Secret Word");
secretWord.equalsIgnoreCase("Water");
if (secretWord != 'Water')
secretWord.equalsIgnoreCase("Water");
}

我试图让用户猜出水这个词,如果他们不猜,那么它会让用户猜 再。如果他们做对了,程序就会回应秘密词水。

  1. 在第 4 行向下,您需要将"水"更改为"水",因为它是一个字符串。
  2. 您还缺少 if 语句的括号。
  3. 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' 

您必须使用" 而不是">

相关内容

最新更新