2014-10-07 133 views
-4

當我運行我的代碼時,它給我一個錯誤,說:「令牌上的語法錯誤」{「,在該令牌後拋出預期。錯誤在第7行的代碼中。此令牌錯誤後拋出預期

class WhileLoopTest { 

    public static void main(String[] args){ 

    apple = 0; 

    while (apple = 0) { 

    (int)(Math.random()*(60) + 5); 
    return; 


    } 


    } 

} 
+0

我不知道爲什麼一半線路編譯。也許如果你修復所有其他線路,錯誤將消失。 – 2014-10-07 18:42:26

+0

你的代碼甚至不會編譯 – Rustam 2014-10-07 18:43:02

+0

蘋果應該是什麼?我沒有看到它在任何地方宣佈。 '='是一個賦值運算符,而不是比較運算符。那麼計算一個隨機數字又有什麼意義,而不是對它做任何事情? – 2014-10-07 18:43:05

回答

0

就行while (apple = 0)您正在設置變量而不是聲明它。 while循環期望您通過它boolean。您可能試圖使用比較等於==。全行應爲while (apple == 0)

0

您需要添加額外的等號while語句中的條件(在你指定的0到蘋果的價值的那一刻,而不是發短信,如果它是相等的),所以它看起來像這樣

while(apple == 0){ 

請注意,while循環完全沒有功能,因爲您正在循環內返回。當您從主要的方法返回時,這將停止您的程序執行。隨機數的計算在這裏沒有任何用處,因爲您沒有爲其分配變量或打印它。

此外,您沒有爲蘋果變量定義類型。嘗試使其類型int

int apple = 0; 

我建議你看看關於java的一些教程,因爲你似乎誤解了語言中的幾個概念。

0

首先,你需要定義一個類型爲你的變量蘋果,因爲的Java是靜態類型

apple = 0; 

Read more About Statically typed vs Dynamically typed

變化

int apple = 0; 

(int)(Math.random()*(60) + 5);不言,所以你需要打印該值或返回它

while (apple = 0) {是錯誤的,因爲編譯器尋找布爾表達式

while(Boolean_expression) 
{ 
    //Statements 
} 

變化while (apple == 0) {

相關問題