2017-04-23 139 views
1
import java.util.ArrayList; 

public class Car { 

    public static void main(String[] args) { 
     ArrayList<String> car = new ArrayList<String>(); 
     car.add("engine"); 
     car.add("exhaust"); 
     car.add("wheel"); 
     for (int j = 0; j < 4; j++); 
     System.out.println(car.get(j)); 

異常「主要」 java.lang.Error的:未解決的問題,編譯: j無法解析爲一個變量「變量」無法解析爲變量。螺紋

我是新來的Java和真正的編程找了,因爲我想編程。目前我在A-Levels。你能幫我解決我的問題嗎?

+0

刪除'for'行末尾的分號,並將'{'和'}'放在希望循環重複的行的周圍。額外的分號使變量'j'超出範圍。 –

+0

因爲for不應該以';''System.out.println(Auto.get(j));' –

回答

1

我已在下面重寫你的課程。正如在上面的註釋中指出的那樣,分號立即終止「for循環」,不執行任何操作。此外,j將不可見,因爲它的範圍只在循環iteself內,這就是你得到錯誤信息的原因。

與你的問題無關,我也修改了循環的退出條件爲j < 3,以避免在最後一次迭代時(car.get(3))索引不存在的j元素。

public class Car { 
    public static void main(String[] args) { 
    ArrayList<String> car = new ArrayList<String>(); 
    car.add("engine"); 
    car.add("exhaust"); 
    car.add("wheel"); 
    for (int j = 0; j < 3; j++) 
    { 
     System.out.println(car.get(j)); 
    } 
    } 
} 
+0

爲結尾對於由印刷錯誤引起的問題有一個特定的緊密原因。我們不應該回答這樣的問題。 –

+0

import java.util.ArrayList; 公共類汽車{ \t公共靜態無效的主要(字串[] args){ \t ArrayList的汽車=新的ArrayList (); \t car.add(「engine」); \t car.add(「exhaust」); \t car.add(「wheel」);對於(int j = 0; j <4; j ++) \t { System.out.println(car.get(j)); \t} \t} \t} – SlimE

+0

這是一個印刷錯誤,還是對聲明終止和作用域如何工作的誤解? – user1712447