Aufgabenhelfer erstellen

Boruk

Grünschnabel
Hallo,

Ich sollte so eine Aufgabenliste erstellen, soweit so gut. Eigentlich dachte ich es stimmt. Aber irgendwie doch nicht :( Eigentlich wollte ich nurnoch probieren ob es funktioniert mit der printer() methode. Aber so doof es klingt, bin mir nicht sicher ob die Main Methode so stimmt um einfach mal zu probieren. work.add("Boden fegen"); gibt mir direkt einen Fehler

Hab folgendes bis jetzt:

Java:
public class Aufgabe {
 
 
        private String inhalt;
        private boolean erledigt = false;

        public Aufgabe(String inhalt) {
            this.inhalt = inhalt;
        }

        public String getInhalt() {
            return inhalt;
        }

        public void setErledigt(boolean erledigt) {
            this.erledigt = erledigt;
        }

        public void print() {
            if (erledigt) {
                System.out.print("(erledigt) " + inhalt);
            } else {
                System.out.print("(offen) " + inhalt);
            }
         
        }

}

import java.util.ArrayList;

public class AufgabenListe {
    public  ArrayList<Aufgabe> aufgaben;

    public void add(String inhalt) {
        aufgaben.add(new Aufgabe(inhalt));
    }

    public void done(int index) {
        aufgaben.get(index).setErledigt(true);
    }
 
 
    public void printer() {
        int counter = 1;
     
        for(Aufgabe x : aufgaben) {
            System.out.println(counter + ": ");
            x.print();
         
        }
    }

public static void main(String[] args) {
     
    AufgabenListe work = new AufgabenListe();
    work.add("Boden fegen");
    work.add("Einkaufen");
    work.done(0);
    work.printer();
 
 
 
    }
 

}
 
Lösung
Hallo Boruk,
du hast den Code etwas komisch gepostet. Ich habe bei mir die Klasse Aufgabe in eine eigene .java Datei gepackt. Ich nehme an du hast das auch so, aber der Kompaktheit halber (?) in einen Codeblock gepackt.

Das Programm erzeugt bei mir beim Aufruf von aufgaben.add(…) eine NullPointerException. Du musst nämlich vor der Benutzung erst die ArrayList initialisieren.
Java:
public class AufgabenListe {
    //public ArrayList<Aufgabe> aufgaben; // nicht so
    // Am einfachsten ist die Initialisierung bei der Deklaration:
    public  ArrayList<Aufgabe> aufgaben = new ArrayList<Aufgabe>();
...

Gruß Technipion
Hallo Boruk,
du hast den Code etwas komisch gepostet. Ich habe bei mir die Klasse Aufgabe in eine eigene .java Datei gepackt. Ich nehme an du hast das auch so, aber der Kompaktheit halber (?) in einen Codeblock gepackt.

Das Programm erzeugt bei mir beim Aufruf von aufgaben.add(…) eine NullPointerException. Du musst nämlich vor der Benutzung erst die ArrayList initialisieren.
Java:
public class AufgabenListe {
    //public ArrayList<Aufgabe> aufgaben; // nicht so
    // Am einfachsten ist die Initialisierung bei der Deklaration:
    public  ArrayList<Aufgabe> aufgaben = new ArrayList<Aufgabe>();
...

Gruß Technipion
 

Neue Beiträge

Zurück