2014-10-30 2 views
-1

내가 가지고있는 문제는 5 OutgoingPhoneCall 개체를 만들 때 두 번째 매개 변수가 전달되지 않는다는 것입니다. 그러나 나는 왜 그런지 알 수 없다. 어떤 도움을 주시면 감사하겠습니다.배열 객체를 통해 매개 변수를 전달하는 방법은 무엇입니까?

public class PhoneCallArray { 

public static void main(String[] args) { 

     PhoneCall [] phoneArray = new PhoneCall[10]; 

     for(int x = 0; x < 5; x++) 
     { 
      phoneArray[x] = new IncomingPhoneCall("1-800-555-789" + x); 
     } 

     for(int y = 5; y < 10; y++) 
     { 
      phoneArray[y] = new OutgoingPhoneCall("1-800-555-789" + y, y * 5); 
     } 

     for(int a = 0; a < 10; a++) 
     { 
      phoneArray[a].displayInfo(); 
     } 

public abstract class PhoneCall { 

    //Declare variables. 
    String phoneNumber; 
    double callPrice; 

    //Constructor. 
    public PhoneCall(String phoneNumber){ 
     this.phoneNumber = phoneNumber; 
     callPrice = 0.0; 
    } 

    public void setCallPrice(double callPrice) { 
     this.callPrice = callPrice; 
    } 

    public abstract String getPhoneNumber(); 
    public abstract double getPrice(); 
    public abstract void displayInfo(); 
} 


public class OutgoingPhoneCall extends PhoneCall { 

    int callTime; 

    public OutgoingPhoneCall(String phoneNum, int time){ 

     super(phoneNum); 
     time = callTime; 
     callPrice = 0.04; 
    } 

    @Override 
    public String getPhoneNumber(){ 
     return phoneNumber; 
    } 

    @Override 
    public double getPrice(){ 
     callPrice = callTime * callPrice; 
     return callPrice; 
    } 

    public int getCallTime(){ 
     return callTime; 
    } 

    @Override 
    public void displayInfo() { 

     JOptionPane.showMessageDialog(null, "Phone number: " + getPhoneNumber() + 
          "\nRate: " + callPrice + 
          "\nTotal duration: " + getCallTime() + " min"+ 
          "\nPrice of call: $" + getPrice(),"Call Summary", 
          JOptionPane.INFORMATION_MESSAGE); 
    } 
} 
+0

일부 간단한 디버깅은 문제의 원인을 발견했을 것입니다. 답변을 찾기 위해 인터넷에 접속하는 데 아마도 시간이 더 걸렸고 귀중한 기술을 가르쳐주지는 않았습니다. –

답변

1

당신이 원하는 : 생성자에서

callTime = time; 

하지

time = callTime; 

. 주위를 뒤집어 썼습니다.

+0

Worked! 고마워, 나는 너무 빨리 코딩하고 있었고 깨닫지 못했다고 생각한다. –

+0

하하 일이 ... 도움이 되니 기쁩니다! – brso05

+0

올바른 것으로 표시 할 수 있습니까? – brso05

관련 문제