GregorianCalender Tage dazuzählen

malle

Neues Mitglied
Hallo ich habe ein Projekt zu realisieren und komme einfach nicht weiter..
Hier mein Problem:
in einem GregorianCalender Vector möchte ich einzelne Datumsangaben speichern. Jeder Eintrag ist ein Datum und der nächste Eintrag des Vectors ist der nächste Tag vom Vorgänger. Das Element 0 ist der heutige Tag. Der Datumsvector dient in einer jTable für die spaltenüberschriften. Weiter unten der Quellcode meiner Datumsklasse.

Die Printlines dienen der Kontrolle und durch die Add methode wird das Datum nicht erhöht beim Day_of_Month steht immer der 5. Wendet man jedoch die toString methode an so zählt er das Datum weiter, zumindest wird es auf der Ausgabekonsole so angezeigt. Ich komme hier echt nicht weiter, bitte sagt mir wo der Fehler liegt...

Vielen Dank für jede Hilfe !

Java:
public class Datum {

    Vector<GregorianCalendar> kalender=new Vector<GregorianCalendar>();
    int tag,monat,jahr;
    GregorianCalendar k=new GregorianCalendar();
    Date d=new Date();



    Datum()
    {
        k.getInstance();
        d=k.getTime();
        k.set(k.get(Calendar.YEAR), k.get(Calendar.MONTH), k.get(Calendar.DAY_OF_MONTH));

        System.out.println("Jahr"+ k.YEAR + "Monat"+ k.MONTH + "Tag"+ k.DATE);
        System.out.println(k.toString());

        jahr=k.YEAR;
        monat=k.MONTH;
        tag=k.DAY_OF_MONTH;
     
        for(int i=0;i<29;i++)
        {

           kalender.add(k);
            System.out.println(k.toString());

            k.add(Calendar.DAY_OF_MONTH,1);
            kalender.add(k);
           
            System.out.println("Day of Month: "+k.DAY_OF_MONTH);
            System.out.println("Date_ "+k.DATE);
        }


    }

       public void addWeek()
    {
           for(int i=0;i<7;i++)
        {

           kalender.add(k);
           k.add(GregorianCalendar.DAY_OF_MONTH, 1);

        }


    }
}
 

HoaX

Top Contributor
1. Wozu k.getInstance(); ?
2. Wozu muss k im ganzen Objekt sichtbar sein?

Meine Vorschlag wäre: Datum dem Konstruktor übergeben und der fügt es als erstes in die Liste ein - fertig.
addWeek holt letzten Eintrag aus der Liste, erstellt neues Objekt mit den Daten des nächsten Tages und fügt diesen hinzu.

3. System.out.println("Day of Month: "+k.DAY_OF_MONTH); DAY_OF_MONTH ist eine Konstante, sieht man doch schon an der Schreibweise. Was du suchst ist: k.get(Calendar.DAY_OF_MONTH);
4. in addWeek fügst du immer das _selbe_ Objekt in die Liste ein. Du musst dort ein neues Objekt erstellen!
 

Ähnliche Java Themen

Neue Themen


Oben