2013-06-05 68 views
-9
for(int i=0; i<=years; i++; finall=money+returnn;) 

{ 
     System.out.println(finall); 
} 

由於某種原因netbeans說我需要一個「)」在那裏?我不知道出了什麼問題這個循環爲什麼不起作用?

+1

你有兩個額外的';'在那裏。可能只有2個。 –

+1

For循環只需要3個語句而不是4 –

+1

因爲這不是一個'for'循環的有效聲明 –

回答

7

你不應該在finall=money+returnn之後加上;。您的for迴路也有太多零件。當你有4個部分時,它應該有3個(初始化,停止條件,修飾符)。

如果您確實需要在其中一個部件中執行多個操作,可以使用,(因此不是;)將它們分開。但在這種情況下,最好將finall=money+returnn放入循環中,因爲它與停止循環沒有任何關係。

+0

此代碼設置'finall = ...'在循環結束時執行並在計算值之前打印出來。也許它有一些代碼的初始值,這裏沒有顯示。也許這只是錯誤的。 –

+0

我知道它是在該循環的print語句之後執行的。他可以簡單地在聲明之後放置聲明。這應該有相同的結果。 –

+0

您是否注意到正在打印什麼? –

7

for循環中有3個部分:初始化,條件和增量。您正在定義一個多用finall=money+returnn;

你可以把幾個incrementations,但以逗號分隔:

for(int i=0; i<=years; i++, finall=money+returnn) 

但每個循環(我的不同的值),你會將所有語句中的最後一部分循環。

+0

您可以在初始化和增量部分中使用多個部分,但它們之間用逗號分隔。 'for(int i = 0; i <= years; i ++,finall = money + returnn)'應該可以工作,但它看起來很奇怪。 –

+2

'finall = ...'部分沒有增加任何內容,雖然它可以在裏面,但它應該與代碼中的花括號一樣。 –

+1

+1:由於'finall'不是條件的一部分(或者修改計數器),它*應該*在循環體內,作爲代碼風格。 –