Java - OR / AND 字符 (|| &&) 在 if 语句中非法
Java - OR / AND characters (|| &&) illegal in if-statement
我正在使用扫描仪编写一个简单的程序,现在想通过将输入与这些词进行比较来确保用户仅键入 "yes" 或 "no"。我正在使用带有 ||
(管道)的普通 if
-语句:
if (!input.equals("yes") || !input.equals("no")) {
//do something
}
Java(我正在使用 BlueJ)抱怨我的管道,它说:“非法字符:'\u00a0'”
我试过的
- 我从维基百科站点复制并粘贴了管道,以确保我确实使用了正确的管道字符
- 重新启动 BlueJ
- 尝试使用等号 (&&),同样的错误
- 如果我删除了第二个条件和它起作用的管道
有谁知道它为什么会抱怨以及我该如何解决它?
– 提前致谢
字符u00a0
是一个不间断的space。
您似乎在代码中输入了控制字符,请替换此行的副本中的所有内容
if(!input.equals("yes") && !input.equals("no"))
或者简单地在你的行中隐藏 spaces 并重新输入它们(确保你没有输入 nbsp
)。
请注意,我将 ||
更改为 &&
,因为例如键入 "no" 仍会输入条件,因为 "yes" 不等于输入。您的条件将是 true || false
,这将导致 true
.
无论如何,这与 ||
或 &&
运算符无关,它是 spaces.
'\u00a0' 解析为非中断 space,所以问题可能不是管道。尝试消除管道周围的 space 并将否定语句括在括号中,然后查看错误是否仍然存在。
我正在使用扫描仪编写一个简单的程序,现在想通过将输入与这些词进行比较来确保用户仅键入 "yes" 或 "no"。我正在使用带有 ||
(管道)的普通 if
-语句:
if (!input.equals("yes") || !input.equals("no")) {
//do something
}
Java(我正在使用 BlueJ)抱怨我的管道,它说:“非法字符:'\u00a0'”
我试过的
- 我从维基百科站点复制并粘贴了管道,以确保我确实使用了正确的管道字符
- 重新启动 BlueJ
- 尝试使用等号 (&&),同样的错误
- 如果我删除了第二个条件和它起作用的管道
有谁知道它为什么会抱怨以及我该如何解决它? – 提前致谢
字符u00a0
是一个不间断的space。
您似乎在代码中输入了控制字符,请替换此行的副本中的所有内容
if(!input.equals("yes") && !input.equals("no"))
或者简单地在你的行中隐藏 spaces 并重新输入它们(确保你没有输入 nbsp
)。
请注意,我将 ||
更改为 &&
,因为例如键入 "no" 仍会输入条件,因为 "yes" 不等于输入。您的条件将是 true || false
,这将导致 true
.
无论如何,这与 ||
或 &&
运算符无关,它是 spaces.
'\u00a0' 解析为非中断 space,所以问题可能不是管道。尝试消除管道周围的 space 并将否定语句括在括号中,然后查看错误是否仍然存在。