hochladen
parent
e525e8f42e
commit
9423f657c4
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 23 [23]">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>TodoListe</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
@ -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<Integer, Todos> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
package Semesteraufgabe;
|
||||
|
||||
import java.util.TreeMap;
|
||||
|
||||
public class TodoMap {
|
||||
|
||||
private TreeMap <Integer, Todos> liste;
|
||||
|
||||
public TodoMap () {
|
||||
liste = new TreeMap<>();
|
||||
}
|
||||
|
||||
public void addTodo (Todos todo) {
|
||||
liste.put(todo.getTodoNr(), todo);
|
||||
}
|
||||
public TreeMap<Integer,Todos> 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.");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
package Semesteraufgabe;
|
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
/**
|
||||
*
|
||||
*/
|
||||
module TodoListe {
|
||||
}
|
Loading…
Reference in New Issue