2012-11-19 7 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 만 문자열이 아닌 문자열과 정수 (int)를 받아들이는 Vehicle 생성자를 호출한다.

변경하십시오.

// 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

관련 문제