2012-11-19 188 views
0

我對java很陌生,無法弄清楚這一點! 這是它應該是什麼樣子,但它給了我一個錯誤,我不知道如果我必須轉換它或不! 或我正在做別的事情不對!構造函數Vehicle(String [],int)未定義

這是我的要求: 使用提供的車輛數據爲變量賦值。有關訪問這些車輛數據值的信息,請參閱數據文件佈局信息。 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]); 
} 
+1

...錯誤(和修復)是不言自明的,哪裏是混亂!? – mre

+0

是的,但我也必須符合我的要求:使用提供的車輛數據爲變量賦值。有關訪問這些車輛數據值的信息,請參閱數據文件佈局信息。 1.速度 – Dani

回答

2

super被調用Vehicle構造函數,它僅接受一個字符串,而不是一個String和int值。

更改爲此。

// remove static 
int speed; 
public Bicycle(String[] vehicleData) { 
    super(vehicleData); 
    speeds = Integer.valueOf(vehicleData[0]); 
} 
+0

所以我做的是對的? – Dani

+0

不是你如何調用基礎構造函數 –

+0

非常感謝你的幫助:) – Dani

4

你在你的汽車類構造函數只接受字符串[]和你傳遞一個字符串[]和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) 
+0

速度如何? – Dani

+0

@ user1834534你的超類構造函數不接受它。在你的超類中定義它。 – PermGenError

+0

但我不能!我的教授創建的UML沒有這個:(我還能在自行車課上做什麼? – Dani

相關問題