2013-06-10 2 views
0

현재 자바를 가르치고 있지만 간단한 문제에 직면했지만 아무에게도 물어 보지 않았습니다. 연습 문제 중 하나에서 클래스를 작성하고 여러 객체를 인스턴스화하고 업데이트하는 드라이버 클래스를 작성했습니다. 나는 "여러 객체를 인스턴스화하고 업데이트함으로써 혼란 스럽다." 여기 내 수업이 있습니다 :여러 객체 인스턴스화 및 업데이트

make, model 및 year를 인스턴스화합니다. 그럼 일단 내가 드라이버 클래스를 작성했다면, 내가 시작한 방식은 다음과 같습니다 :

import java.util.Scanner; 

public class PP43CarTest { 


    public static void main(String[] args) { 

     PP43Car car1; 

     Scanner scan = new Scanner(System.in); 

     System.out.println("Enter the model of the vehicle:"); 
     car1.getModel(); 
    } 

} 

그러나이 클래스는 오류를 발생시키고 여기에 내가 붙어 있습니다. 계속 진행하고 있습니까, 아니면 "여러 객체를 인스턴스화하고 업데이트하는 것입니까?" 위의 코드가 올바른 경우 나뿐만 아니라 것을 배우고 싶습니다 때문에 실제로 사용자의 입력을 얻고 그런 식으로 업데이트 할 스캐너 클래스를 사용하는 방법을

import java.util.Scanner; 

public class PP43CarTest { 

    static PP43Car car1; 

    public static void main(String[] args) { 
     //Scanner scan = new Scanner(System.in); 
     car1 = new PP43Car("Millenia", "Mazda", 2011);  
    } 

} 

, 다음 사람이 나를 보여줄 수 있습니까?

+0

제발, 당신이하고 싶은 것을 더 잘 설명해주십시오. 사용자가'make','model','year'의 값을 삽입하길 원합니까? – MikO

+0

@MikO 코딩 한 코드의 마지막 부분에 대해서는 "인스턴스화 및 개체 업데이트"의 의미인지 여부 만 알고 싶습니다. –

답변

0

글쎄, 당신은 실제로 당신이하고 있기 때문에 객체 인스턴스화하는 코드의 마지막 조각에서 : 당신이 new 개체를 만들 때

car1 = new PP43Car("Millenia", "Mazda", 2011); 

, 새 인스턴스 클래스의를 만드는을, 그래서 네, 당신은 객체를 인스턴스화하고 있습니다.

그러나이 같은

뭔가가 갱신 될 것이다 ... 나는 개체를 수정하는 방법을 업데이트 여기에 생각하기 때문에 당신은 어디를 업데이트하지 않습니다,하지만 당신은 단지 그것을 수정하려면 개체를 만들 수 없습니다 :

당신이 개체의 특성에 대해 다른 값을 설정하고 있기 때문에
car1.setYear(2013); 

, 당신은 ... 그것을 업데이트하는


편집 :이 코드를 사용해보십시오. 예외를 throw 할 수 없습니다. Java 기본 사항입니다. 귀하의 의구심을 분명히하기를 바랍니다.

public class PP43CarTest { 

    public static void main(String[] args) { 

     //Declaring objects 
     PP43Car car1; 
     PP43Car car2; 
     PP43Car car3; 

     //Instantiating objects 
     car1 = new PP43Car("Millenia", "Mazda", 2011); 
     car2 = new PP43Car("Aaaa", "Bbb", 2012); 
     car3 = new PP43Car("Ccc", "Ddd", 2012); 

     //Updating objects 
     car1.setMake("Xxx"); 
     car1.setMake("Yyy"); 
     car1.setYear(2013); 

     //Printing objects 
     System.out.println("CAR 1: " + car1.toString()); 
     System.out.println("CAR 2: " + car2.toString()); 
     System.out.println("CAR 3: " + car3.toString()); 
    } 
} 
+0

오른쪽. 이것은 내가 약간 혼란스럽고 그것을 수정하는 곳입니다. 이것은 내가 PP43Car car1이라는 메인 메서드 내에서 시도한 것이다. 당신이 car1.setMake (Mazda)와 같은 대답을 게시하기 전에 나는 똑같은 일을했습니다; 하지만 오류가있어. 어떤 아이디어? –

+0

@HjghjgHghjgb, 당신은'car1 = new PP43Car (...)'줄 바로 뒤에'car1.setMake (Mazda);를 추가했다. 그러면 오류가 발생한다 ?? 그렇게해서는 안되며, 어떤 종류의 예외가 있습니까? – MikO

+0

@MikeO 잘 모르겠다. 나는 그걸 가지고 놀았지만 예외를 던진 것을 기억하지 못했습니다. 그러나 현재는 제작, 모델 및 연도 업데이트가 가능하지만 아무데도 사용하지 않으려 고합니다. 운전석에서 뭔가 잘못하고 있니? –