你的问题是你的语法:
while (advertCost =< 100000 || advertCost => 900000);
在Java中,“小于或等于”运算符是你说的吧。小于或等于。你有平等或低于。同样的情况对你来说也不错。它应该看起来像这样:
while (advertCost >= 100000 || advertCost <= 900000);
此外,你有你的操作员错误的方式。您希望advertCost
大于100000且小于900000,但您的运营商暗示小于100,000且大于900,0000。
只是一个预留约你的错误
通常,这些类型的问题可以通过错误消息的理解。我知道它们看起来很神秘,但如果你学会破译它们,那么在语法错误方面你确实不需要我们。
Syntax error on token "<", delete this token The operator || is undefined for the argument type(s) int, boolean Syntax error on token "=", delete this token
让我们切开它到它的部分:
第一部分
消息:Syntax error on token "<", delete this token
好了,JRE刚刚解析代码,它正在经历每个token。这是它到达的第一个无效的标记,因此会生成此消息。但是,如果你删除了这个,你仍然有一个无效的if语句,所以让我们继续阅读。
第二部分。
消息:The operator || is undefined for the argument type(s) int, boolean
嘛,没检测到运营商已经发现,所以JRE必须假定没有一个人也没有。当它解析的IF语句的一部分它的发现:
if(a number || something else).
在这一点上它知道||
操作仅适用于两个布尔值,所以它抛出另一个错误。它这样做是因为它已经知道代码会失败;它不需要检查另一边。
最后一部分
消息:Syntax error on token "=", delete this token
所以JRE继续解析,而且它也发现了你的 “=>”。和以前一样,注意到无效字符,并建议您将其删除。如果你删除了“=”,那么你对If语句的这部分实际上拥有有效的语法。你面对这种类型的错误
摘要
下一次,简单地尝试打破该消息。它告诉你哪些字符是错误的,<
和=
。它甚至会告诉你用什么去尝试。显然它只能猜测,所以这是由你来决定你想要什么,以及如何让运行环境理解!
谢谢!我现在感到很傻。 – Chara 2013-04-06 10:40:28
请阅读我的关于理解错误消息的编辑。它可能会在未来帮助你! :) PS:请将此标记为正确,以免人们继续看它! :) – christopher 2013-04-06 10:51:21