你的問題是你的語法:
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