在Java中的main方法中调用方法

时间:2013-10-06 13:33:29

标签: java arraylist

我有一个关于在主类中使用方法的问题,这是我的Race类的代码:

import java.util.ArrayList;


public class Race {

    private ArrayList<Car>cars;


    public Race(){
         cars = new ArrayList<Car>();
    }

    public void addCars(Car car){
        cars.add(car);
    }
}

以上是我通过在另一个类中使用main方法为我准备投入的汽车制作一个arraylist所做的:

public class Test {

    public static void main(String[] args) {
        Car toyota = new Car("Toyota",1.0,1.0,2.0,2.0);
        cars.addCars(toyota);
    }
}

然而,它在最后一行有错误,它显示“汽车无法解决”,我不知道应该如何修复它,也许在Race类中编写一个getter方法?

2 个答案:

答案 0 :(得分:2)

创建race的实例并致电addCars

Race race = new Race();
race.addCars(toyota);

答案 1 :(得分:1)

cars在该上下文中不存在,您可能也希望坚持使用小写变量名称convention

将您的Test课改为类似的内容:

public class Test {
    public static void main(String[] args) {
        Race race = new Race();
        Car toyota=new Car("Toyota",1.0,1.0,2.0,2.0);
        race.addCars(toyota);
    }
}

您想要将车辆添加到比赛,而不是cars(不存在)。 要为比赛添加汽车,首先需要制作一辆。

通过将汽车添加到比赛中,它将在内部将其添加到汽车列表中。 (因为你做到了) 您的问题基本上是您尝试使用范围之外的变量。 (基本上在其他地方)

由于我不知道您的确切问题,我无法真正帮助您,但您可能希望将比赛保存在一个字段而不是局部变量中,这一切都取决于您想要做什么。 / p>