Мой метод toString () не переопределяет метод Calendar toString () - PullRequest
2 голосов
/ 08 ноября 2011

Вот мой код, довольно простой на самом деле.Это не домашняя работа, я учу себя Java через учебник:


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";
    }  
}

Вопрос в том, чтобы создать три массива: int, String и Calendar type.Затем выберите наибольшее из каждой категории (и покажите ответы).

Этот класс расширяет класс GregorianCalendar, что означает, что у меня есть доступ к календарям toString(), которые я пытаюсь переопределить.Однако это не работает.Это похоже на метод toString(), который не переопределяется, потому что я получаю вывод toString() по умолчанию.Тем не менее, я использую Netbeans, и он подтверждает переопределение и даже выводит меня на Calendar.toString(), когда я нажимаю ссылку переопределения.Так что я застрял, любая помощь будет оценена.

1 Ответ

9 голосов
/ 08 ноября 2011

Это потому, что вы не используете свой класс, но GregorianCalendar:
calendarList[a] = new GregorianCalendar();

измените его на
calendarList[a] = new Exercise9_9 ();

...