2011-11-08 1 views
2

여기 내 코드가 있습니다. 아주 간단합니다. 그것의하지 숙제, 나는 교육 책을 통해 자신에게 자바를 가르치고 : INT, 문자열 및 달력 유형 :내 toString() 메서드가 Calendar toString() 메서드를 재정의하지 않습니다.


import java.util.*; 

/** @author Chris */ 

public class Exercise9_9 extends GregorianCalendar 
{ 
    public static void main(String[] args) 
    { 
     String[] stringList = {"s", "c", "b", "f", "e", "q", "g", "w", "i", "o"}; 
     Integer[] integerList = {5, 7, 8, 9, 6, 5, 4, 1, 2, 3}; 
     Calendar[] calendarList = new Calendar[10]; 

     for (int a = 0; a < calendarList.length; a++) 
     { 
      calendarList[a] = new GregorianCalendar(); 
      calendarList[a].set(Calendar.YEAR, ((int)Math.random()* 1000)); 
     } 

     System.out.println("Largest String: " + max(stringList)); 
     System.out.println("Largest int: " + max(integerList)); 
     **System.out.println("Largeset date: " + (max(calendarList)).toString());** 
    } 

    public static Object max(Object[] a) 
    { 
     Arrays.sort(a); 
     return a[a.length-1]; 
    } 

    **@Override 
    public String toString()** 
    { 
     return "Test"; 
    } 
} 

문제는 세 가지 배열을 생산하는 것입니다. 그런 다음 각 카테고리에서 가장 큰 것을 골라 내고 대답을 표시하십시오.

이 클래스는 GregorianCalendar 클래스를 확장하므로 재정의하려는 캘린더 toString()에 액세스 할 수 있습니다. 그러나 그것은 작동하지 않습니다. 같은 toString() 메서드는 내가 기본 toString() 출력지고 있기 때문에 무시하지 않습니다. 그러나 Netbeans를 사용 중이며 오버라이드를 인식하고 오버라이드 링크를 클릭하면 Calendar.toString()으로 연결됩니다. 그래서 나는 붙어있어, 어떤 도움을 주시면 감사하겠습니다.

답변

9
당신이 당신의 클래스를 사용하지 않는 때문입니다

하지만 GregorianCalendar :
calendarList[a] = new Exercise9_9();

+0

와우에
calendarList[a] = new GregorianCalendar();

변화가이 같은 신속한 대응을 주어 내 첫 번째 질문. 정말 고맙습니다. – cworner1