2013-10-31 49 views
-2

我正在創建一個程序,需要一個用戶值並將其計爲100(如果他們輸入5,程序將打印5,10,15,20 ...... 100)Java - 計數到100

Scanner s = new Scanner(System.in); 
    System.out.println("Enter a number to count to 100: "); 
    int x = s.nextInt(); 


    for(int i=x;i <=100;i +=x); 
     System.out.print(i + " "); 
    } 
} 

繼承人我有,但我不斷收到錯誤說找不到符號,變量我。

有人可以幫我調整代碼,使其正常工作,謝謝!

+1

您應該使用自動格式化源代碼的程序。那麼你會更清楚地看到這個bug。 –

+0

對於學校任務而言,他們希望我們使用基本的IDE,這樣我們就可以自己發現錯誤,並學習如何在沒有幫助的情況下使用所有東西。 – user2934299

+0

恕我直言,沒有理由關閉這個問題。這是一個有效的問題,即使是一個非常基本的問題...(問題很清楚,它包含代碼重現...) –

回答

2

在您的for循環條件結尾處有一個分號,Java被解釋爲for循環的主體,因此i超出了下一行的範圍。

刪除分號,通過改變

for(int i=x;i <=100;i +=x); 

for(int i=x;i <=100;i +=x) 
+0

謝謝!-------- – user2934299

0

只是想出了自己的問題:

for(int i=x;i <=100;i +=x;) 
     System.out.print(i + " "); 
    } 
} 

我的分號在錯誤的地方。

+0

...而且,當你Java新手,學習使用'{...}'塊即使對於循環中的單線程語句也是一個很大的不同。 – rolfl

+1

在'''之前不應該有分號。如果編譯的話我會感到驚訝。應該有兩個分號:init和condition之間的一個,以及condition和increment之間的一個分號。 – cHao

0
for(int i=x;i <=100;i +=x); 
     System.out.print(i + " "); 

應該

for(int i=x;i <=100;i +=x) 
     System.out.print(i + " "); 

for(int i=x;i <=100;i +=x){ 
     System.out.print(i + " "); 
} 

分號用於終止的聲明中,這意味着,當你將它添加到您的for循環,它運行結束整個循環,然後它會嘗試你的System.out.print。 但是因爲那是在for循環之後,並且在for循環中定義了int i,所以它找不到i

0

你只需要用括號替換分號即可。

Scanner s = new Scanner(System.in); 
System.out.println("Enter a number to count to 100: "); 
int x = s.nextInt(); 


for(int i=x;i <=100;i +=x){ 
    System.out.print(i + " "); 
}