diff --git a/TodoListe/.classpath b/TodoListe/.classpath
new file mode 100644
index 0000000..0880a4f
--- /dev/null
+++ b/TodoListe/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/TodoListe/.project b/TodoListe/.project
new file mode 100644
index 0000000..fbbf165
--- /dev/null
+++ b/TodoListe/.project
@@ -0,0 +1,17 @@
+
+
+ TodoListe
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/TodoListe/src/Semesteraufgabe/Liste.java b/TodoListe/src/Semesteraufgabe/Liste.java
new file mode 100644
index 0000000..9de9e3d
--- /dev/null
+++ b/TodoListe/src/Semesteraufgabe/Liste.java
@@ -0,0 +1,77 @@
+package Semesteraufgabe;
+
+import java.util.Scanner;
+
+
+public class Liste {
+
+ public static void main(String[] args) {
+
+ Scanner scanner = new Scanner(System.in);
+ TodoMap verwaltung = new TodoMap();
+ boolean running = true;
+
+ try {
+ System.out.println("Lege einen Namen für die Todo-Liste fest");
+ String dateiname = scanner.nextLine().replaceAll("[ ,.]", "_");
+ TodoDateiSchreiber todoDatei = new TodoDateiSchreiber(dateiname);
+ while (running) {
+
+
+ System.out.print("Was willst du tun? \nSchreibe 'help' für mehr informationen.\n");
+ String input = scanner.nextLine();
+
+ switch(input) {
+
+ case "neue Todo" :
+ System.out.println("Titel der Todo: \n");
+ String titel = scanner.nextLine();
+ System.out.println("Was muss erledigt werden? \n");
+ String beschreibung = scanner.nextLine();
+ verwaltung.addTodo(new Todos(titel, beschreibung));
+ break;
+
+ case "Todo anzeigen" :
+ System.out.print("Welche Nr.? \n");
+ System.out.println(verwaltung.openOneTodo(scanner.nextInt()));
+ break;
+
+ case "Alle Todos anzeigen" :
+ System.out.println(verwaltung.openAllTodos());
+ break;
+
+ case "Todo abhaken" :
+ System.out.println("Welche Nr.? \n");
+ int zahl = scanner.nextInt();
+ verwaltung.todoAbhacken(zahl);
+ break;
+ case "liste speichern" :
+ todoDatei.TodoSchreiben(verwaltung.openAllTodos());
+ break;
+ case "zurück" :
+ System.out.println("Programm wird beendet");
+ running = false;
+ break;
+
+ case "help" :
+ System.out.println("Befehle: \n"
+ + " 'neue Todo': legt ein neues Todo an. \n"
+ + " 'Todo anzeigen': Zeige eine bestimmte Todo \n"
+ + " 'Alle Todos anzeigen: Zeige alle Todos \n"
+ + " 'Todo abhaken: Setzt den Status der Todo auf 'erledigt' \n"
+ + " 'liste speichern': speichert alle Todos in eine Textdatei \n"
+ + " 'zurück': beendet das Programm \n");
+ break;
+
+ default: System.out.println("Falsche Eingabe. Versuche es nochmal. \n");
+ ;
+ }
+ }
+ }
+ catch (Exception e) {
+ System.out.println("Ungültige Eingabe");
+ }
+ scanner.close();
+ }
+}
+
diff --git a/TodoListe/src/Semesteraufgabe/TodoDateiSchreiber.java b/TodoListe/src/Semesteraufgabe/TodoDateiSchreiber.java
new file mode 100644
index 0000000..d028821
--- /dev/null
+++ b/TodoListe/src/Semesteraufgabe/TodoDateiSchreiber.java
@@ -0,0 +1,58 @@
+package Semesteraufgabe;
+
+import java.io.FileWriter;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TreeMap;
+
+public class TodoDateiSchreiber {
+ private FileWriter writer;
+ private Date Datum = new Date();
+ private SimpleDateFormat DatumFormat = new SimpleDateFormat("dd-MM-yyyy HH-mm");
+ private String todoDatum = DatumFormat.format(Datum);
+
+
+ public TodoDateiSchreiber(String dateiname) {
+ try {
+ this.writer = new FileWriter("src/dateien/" + dateiname + ".txt");
+ System.out.println("Todoliste wird erstellt... \n");
+
+ }
+ catch (IOException e) {
+ System.out.println ("Fehler beim erstellen der Datei:");
+ }
+ }
+
+
+
+ public void TodoSchreiben (TreeMap treeMap) {
+ try {
+ try {
+ System.out.println(todoDatum);
+ for (Todos todo : treeMap.values()) {
+ writer.write(todo.toString() + "\n");
+ System.out.println("todo wird bearbeitet");
+ }
+ }
+ catch (IOException e) {
+ System.out.println("Fehler beim Dateibearbeiten");
+
+ }
+ writer.close();
+ } catch (IOException ee) {
+ System.out.println("fehler beim speichern der datei");
+ }
+ finally {
+ try {
+ if (writer != null) {
+ writer.close();
+ System.out.println("Datei wurde geschlossen.");
+ }
+ } catch (IOException e) {
+ System.out.println("Fehler beim Schließen der Datei.");
+ e.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/TodoListe/src/Semesteraufgabe/TodoMap.java b/TodoListe/src/Semesteraufgabe/TodoMap.java
new file mode 100644
index 0000000..61ba3ea
--- /dev/null
+++ b/TodoListe/src/Semesteraufgabe/TodoMap.java
@@ -0,0 +1,34 @@
+package Semesteraufgabe;
+
+import java.util.TreeMap;
+
+public class TodoMap {
+
+ private TreeMap liste;
+
+ public TodoMap () {
+ liste = new TreeMap<>();
+ }
+
+ public void addTodo (Todos todo) {
+ liste.put(todo.getTodoNr(), todo);
+ }
+ public TreeMap openAllTodos () {
+ return liste;
+ }
+ public Todos openOneTodo (int nummer) {
+ return liste.get(nummer);
+ }
+ public void todoAbhacken(int nummer) {
+ if (liste.containsKey(nummer)) {
+ liste.get(nummer).setStatus(true);
+ } else {
+ System.out.println("To-Do mit dieser Nummer existiert nicht.");
+ }
+ }
+
+ }
+
+
+
+
diff --git a/TodoListe/src/Semesteraufgabe/Todos.java b/TodoListe/src/Semesteraufgabe/Todos.java
new file mode 100644
index 0000000..3ada856
--- /dev/null
+++ b/TodoListe/src/Semesteraufgabe/Todos.java
@@ -0,0 +1,75 @@
+package Semesteraufgabe;
+
+public class Todos {
+
+ private String titel;
+ private String beschreibung;
+ private int todoNr;
+ private boolean status;
+ private static int counter = 1;
+
+ public Todos () {
+
+ titel = "To-do hat noch keinen Titel";
+ beschreibung = "To-do hat noch keine Beschreibung";
+ status = false;
+ todoNr++;
+ }
+ public Todos (String titel, String beschreibung) {
+
+ this.titel = titel;
+ this.beschreibung = beschreibung;
+ this.status = false;
+ this.todoNr = counter++;
+}
+ public Todos (String titel, String beschreibung, String status) {
+ this.titel = titel;
+ this.beschreibung = beschreibung;
+ if ( status == "noch nicht erledigt" ) {
+ this.status = false;
+ }
+ else {
+ this.status = true;
+ }
+ }
+
+ public String toDoZustand(boolean status) {
+ if (this.status == false) {
+ return "noch nicht erledigt";
+ }
+ else {
+ return "Erledigt";
+ }
+ }
+
+ public String getTitel() {
+ return titel;
+ }
+ public void setTitel(String titel) {
+ this.titel = titel;
+ }
+ public String getBeschreibung() {
+ return beschreibung;
+ }
+ public void setBeschreibung(String beschreibung) {
+ this.beschreibung = beschreibung;
+ }
+ public int getTodoNr() {
+ return todoNr;
+ }
+ public void setTodoNr(int todoNr) {
+ this.todoNr = todoNr;
+ }
+ public boolean isStatus() {
+ return status;
+ }
+ public void setStatus(boolean status) {
+ this.status = status;
+ }
+ @Override
+ public String toString() {
+ return "Titel:" + titel + ", Beschreibung:" + beschreibung + ", To-Do Nr.: " + this.todoNr + ", Status: "
+ + toDoZustand(status);
+ }
+
+}
\ No newline at end of file
diff --git a/TodoListe/src/Semesteraufgabe/package-info.java b/TodoListe/src/Semesteraufgabe/package-info.java
new file mode 100644
index 0000000..6407f47
--- /dev/null
+++ b/TodoListe/src/Semesteraufgabe/package-info.java
@@ -0,0 +1 @@
+package Semesteraufgabe;
\ No newline at end of file
diff --git a/TodoListe/src/module-info.java b/TodoListe/src/module-info.java
new file mode 100644
index 0000000..8383ed7
--- /dev/null
+++ b/TodoListe/src/module-info.java
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+/**
+ *
+ */
+module TodoListe {
+}
\ No newline at end of file