0

我对java很陌生,无法弄清楚!这就是它的样子,但它给了我一个错误,我不确定我是否必须转换它!或者我做错了什么!!!

这是我的要求:使用提供的车辆数据为变量赋值。有关访问这些车辆数据值的信息,请参阅数据文件布局信息。1.速度

public class Bicycle extends Vehicle implements IOutput {

private static int speeds;

public Bicycle(String[] vehicleData) {
    super(vehicleData,speeds);   // get error: The constructor Vehicle(String[], int) is undefined

            // or i should this one :
    speeds = Convert.toInteger(vehicleData[0]);
}

这是车辆类别

public Vehicle(String[] vehicleData) {
    count++;
    owner= new Owner(vehicleData);

    setVehicleType(Convert.toInteger(vehicleData[0]));
    make = vehicleData[1];
    model = vehicleData[2];
    color = vehicleData[3];
    purchaseDate = vehicleData[4];
    cost = Convert.toDouble(vehicleData[5]);
}
4

2 回答 2

4

您的 Vehicle 类中的构造函数仅接受 string[] 并且您正在传递一个 string[] 和一个 int。

改变

super(vehicleData,speeds);   // get error: The constructor Vehicle(String[], int) is undefined

super(vehicleData);   // your error'd now disappear

或在您的超类Vehicle中声明速度。

int speed;
public Vehicle(String[] vehicleData, int speed)
于 2012-11-19T01:33:57.357 回答
2

super正在调用Vehicle构造函数,它只接受一个字符串,而不是一个字符串和一个 int。

改成这个。

// remove static
int speed;
public Bicycle(String[] vehicleData) {
    super(vehicleData);
    speeds = Integer.valueOf(vehicleData[0]);
}
于 2012-11-19T01:34:32.557 回答