tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
319
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    enrix enrix ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    69
    Hallo,
    ich möchte ein Datum eingeben. Nenne es Anreise. Nun soll eine generische Liste erzeugt werden, welche als Listenelemente die Daten die innerhalb der Anreise und 100 Tage später beinhaltet. Also eine Zeitspanne wobei jedes Listenelement ein Datum des Typs Calendar darstellt.

    Folgende Idee hatte ich dazu.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    private List<Calendar>cal;
     
    ......
     
     
     
                i=0;
            
            while(i<100){
                Calendar DatumNeu = Calendar.getInstance();
                Anreise.add(Calendar.DATE, 1); 
                DatumNeu.set(Anreise.YEAR, Anreise.MONTH, Anreise.DAY_OF_MONTH);
                cal.set(i,DatumNeu);
                i++;
            }

    Leider bekomme ich eine Fehlermeldung bei :cal.set(i,DatumNeu);
    Es handelt sich um eine java.lang.NullPointerException.
    Hat jemand eine Idee warum?
    beste Grüße!
     

  2. #2
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Zitat Zitat von enrix Beitrag anzeigen
    Hallo,
    ich möchte ein Datum eingeben. Nenne es Anreise. Nun soll eine generische Liste erzeugt werden, welche als Listenelemente die Daten die innerhalb der Anreise und 100 Tage später beinhaltet. Also eine Zeitspanne wobei jedes Listenelement ein Datum des Typs Calendar darstellt.

    Folgende Idee hatte ich dazu.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    private List<Calendar>cal;
     
    ......
                i=0;
            
            while(i<100){
                Calendar DatumNeu = Calendar.getInstance();
                Anreise.add(Calendar.DATE, 1); 
                DatumNeu.set(Anreise.YEAR, Anreise.MONTH, Anreise.DAY_OF_MONTH);
                cal.set(i,DatumNeu);
                i++;
            }
    Leider bekomme ich eine Fehlermeldung bei: cal.set(i,DatumNeu);
    Es handelt sich um eine java.lang.NullPointerException.
    Moin,

    Deine Exception wird weder von 'i' noch von 'DatumNeu' sondern aller Voraussicht nach von 'cal' geworfen werden (oder sagt der Debugger was anderes?) ! !

    Wie wird denn den 'cal' an diese Stelle im programm übergeben? Dieser relevante Code fehlt leider

    Du musst mehr Code posten ! !

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  3. #3
    FrankBooth FrankBooth ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Ort
    Osnabrück (Niedersachsen)
    Beiträge
    244
    Ist cal initialisiert so mit new und so ?
     

  4. #4
    enrix enrix ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    69
    Einen frohen 4. Advent und danke für die Hilfe. Ich hatte die Liste nicht korrekt initialisiert.
    Nun habe ich den Fehler behoben. Allerdings habe ich der genrischen Liste den Vector-Datentyp zugeordnet. Das funktioniert soweit auch ganz gut. Ist dieses Form der Initialisierung üblich bei generischen Listen?
    Code :
    1
    2
    3
    4
    5
    
    private Vector<Calendar> cal;
    .
    .
    .
    cal = new Vector<Calendar>();

    Eine Frage bleibt noch, das Inkrementieren des Kalenders funktioniert nicht. Das Verfahren habe ich hier aus dem Forum rausgelesen. Ich bin davon ausgegangen, dass jeder neue Datensatz in der Liste cal das Nachfolgerdatum darstellt. Leider sind aber alle Datensätze gleich dem letzten Tag.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
        public void setTimeStack(){ 
            i=0;
            cal = new Vector<Calendar>();
            while(i<100){
                GregorianCalendar DatumNeu=new GregorianCalendar();
                Anreise.add(Calendar.DATE, 1); //Hier wird das Datum Anreise inkrementiert
                DatumNeu=Anreise; // Hier wird das neue Datum initialisiert
                cal.add(i, DatumNeu); //Neues Listenelement wird eingefügt
                i++;
            }
        }

    Hat jemand einen Tip für mich?
     

  5. #5
    Avatar von Sentoo
    Sentoo Sentoo ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Brühl
    Beiträge
    131
    Also, die lange Antwort findest Du hier: http://www.torsten-horn.de/techdocs/java-date.htm
    im Abschnitt "Calendar und GregorianCalendar".

    Die kurze Antwort: Stell dir Objekte vom Typ Calendar am besten als Fabrik vor. Innerhalb der Fabrik kannst du Einstellungen vornehmen und mittels der Methode #getTime() andere Objekte erzeugen, nämlich Datumsangaben (Objekte vom Typ Date). Den Calendar kannst Du dir echt so vorstellen wie einen Wandkalender, der noch um Zeitangaben ergänzt ist. Wenn Du ein spezielles Datum von ihm festhalten möchtest, brauchst Du von ihm ein Date.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    
    Calendar calendar=new GregorianCalendar();
    while(i<100){
      // Ändere die Einstellungen am Kalender.
      // TODO: Füge deine Datumsmodifikationen als Einstellungen am Kalender ein.
      cal.add(i, calendar.getTime()); //Neues Datum wird der Liste hinzugefügt.
      i++;
    }
     

Ähnliche Themen

  1. generische, sortierte Liste
    Von sakizzo im Forum Java
    Antworten: 5
    Letzter Beitrag: 05.05.10, 10:58
  2. C# - ArrayList in generische Liste umwandeln
    Von janw im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 05.03.08, 15:04
  3. Fragen zur Handhabung des Set-Typs
    Von Precog im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 10.10.07, 19:16
  4. Generische Klasse
    Von RealHAZZARD im Forum Java
    Antworten: 13
    Letzter Beitrag: 27.09.07, 13:19
  5. Generische Daten/Algorithmen
    Von Snape im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 6
    Letzter Beitrag: 02.12.04, 18:34