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

または、スーパークラスの車両で速度を宣言します。

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

superコンストラクターを呼び出しています。Vehicleコンストラクターは、Stringとintではなく、Stringのみを受け入れます。

これに変更します。

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