Java 否则,如果没有';我无法识别特定的字符串
我曾多次遇到这个问题,我的代码看起来不错,但它就是无法识别某个字符串。我一直使用else-if语句,但其中一些似乎不起作用。我正在制作一个简单的基于文本的游戏来练习我在java中学到的东西,这并不多。请对我的午餐温柔一点。 我在这里做错了什么,出于某种原因,它不识别命令“Herovine”,而只是转到“else” 用户输入:“输入” 输出:“输入什么” 用户输入:“Herovine” 输出:“未识别命令”Java 否则,如果没有';我无法识别特定的字符串,java,string,if-statement,Java,String,If Statement,我曾多次遇到这个问题,我的代码看起来不错,但它就是无法识别某个字符串。我一直使用else-if语句,但其中一些似乎不起作用。我正在制作一个简单的基于文本的游戏来练习我在java中学到的东西,这并不多。请对我的午餐温柔一点。 我在这里做错了什么,出于某种原因,它不识别命令“Herovine”,而只是转到“else” 用户输入:“输入” 输出:“输入什么” 用户输入:“Herovine” 输出:“未识别命令” 将else-if(((“herovine”).equalsIgnoreCase(cmdon
将
else-if(((“herovine”).equalsIgnoreCase(cmdone))
替换为else-if((“herovine”).equalsIgnoreCase(conone))
如果这是您正在执行的确切代码,请查看用于用户输入的变量,并将其与else-if
中使用的变量进行比较。
换行
else if (("Herobrine").equalsIgnoreCase(cmdone))
到
您计算的变量是错误的。我想你指的是
conone
,而不是cmdone
:
这是您的代码,删除了与答案无关的部分,并添加了一些注释进行解释:
if (cmdone.equalsIgnoreCase("Help")) {
// snipped.
}
else if (cmdone.equalsIgnoreCase("Enter")){
// If you entered here, you know the cmdone is "Enter" (in some case).
System.out.println("Enter what?");
String conone = in.next();
if (conone.equalsIgnoreCase("Forest") || conone.equalsIgnoreCase("The forest")){
// snipped
}
else if (("Herobrine").equalsIgnoreCase(cmdone)) {
// cmdone can't be "herobrine" - it's known to be "enter".
// you probably meant to check conone
}
else {
// snipped
}
}
我将
conone
视为输入,将cmdone
视为用于比较的变量。这就是你正在运行的代码吗?对不起,我把你的时间浪费在打字错误上了,我有点累了,请原谅。不过谢谢你,我得到了隧道视觉。接受答案:p还剩三分钟:/p我还不能上去,因为我的级别太低了:D
else if (("Herobrine").equalsIgnoreCase(conone)) // Using your input variable.
if (cmdone.equalsIgnoreCase("Help")) {
// snipped.
}
else if (cmdone.equalsIgnoreCase("Enter")){
// If you entered here, you know the cmdone is "Enter" (in some case).
System.out.println("Enter what?");
String conone = in.next();
if (conone.equalsIgnoreCase("Forest") || conone.equalsIgnoreCase("The forest")){
// snipped
}
else if (("Herobrine").equalsIgnoreCase(cmdone)) {
// cmdone can't be "herobrine" - it's known to be "enter".
// you probably meant to check conone
}
else {
// snipped
}
}