2017-04-23 141 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