-1

我有一个关于在主类中使用方法的问题,这是我的 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 方法为准备放入的汽车创建数组列表所做的工作:

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 方法?

4

2 回答 2

2

Create an instance of race and call addCars

Race race = new Race();
race.addCars(toyota);
于 2013-10-06T13:35:35.027 回答
1

cars在这种情况下不存在,您可能还想坚持使用小写变量名的约定。

将您的课程更改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(不存在)。要将汽车添加到比赛中,您首先需要制造一辆。

通过将汽车添加到比赛中,它会在内部将其添加到汽车列表中。(因为你这样做了)你的问题基本上是你试图使用一个超出范围的变量。(其他地方,基本上)

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

于 2013-10-06T13:38:22.813 回答