Hi,
habe ein Programm geschrieben, welches zur Aufgabenverwaltung dient.
Allerdings soll man schritt 2 (Aufgabe löschen) NICHT ausführen können, wenn noch keine Aufgabe vorhanden ist. Wie kann ich das realisiern?
Als schönes Extra wäre auch noch gut, wenn man die erstellte txt vor veränderrungen schützen könnte.
THX 4 Help
habe ein Programm geschrieben, welches zur Aufgabenverwaltung dient.
Allerdings soll man schritt 2 (Aufgabe löschen) NICHT ausführen können, wenn noch keine Aufgabe vorhanden ist. Wie kann ich das realisiern?
Als schönes Extra wäre auch noch gut, wenn man die erstellte txt vor veränderrungen schützen könnte.
THX 4 Help
Code:
import java.io.*;
import java.util.Scanner;
public class Aufgabenverwaltung {
private static int count =0;
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
int zaehler=0;
int anzahl = 5;
String[] titel = new String[anzahl];
String[] tätigkeitsbeschreibung = new String[anzahl];
String[] dringlichkeitsstufe = new String[anzahl];
String[] datum = new String[anzahl];
String[] eingabeZeile =new String[anzahl*4];
char a='2';
System.out.println(a);
Menue(anzahl, titel, tätigkeitsbeschreibung, dringlichkeitsstufe,datum,eingabeZeile);
}
static void Menue(int anzahl, String[] titel,String[] tätigkeitsbeschreibung, String[] dringlichkeitsstufe, String[] datum,String[] eingabeZeile)throws IOException {
int i=0;
System.out.println("");
System.out.println(" --> Willkommen im Menü <--");
System.out.println("Ihnen stehen nun folgende Operationen zur Auswahl...");
System.out.println("");
System.out.println("Drücken Sie die \"1\" um ihre Aufgaben einzutragen ");
System.out.println("Drücken Sie die \"2\" um eine Aufgabe zu löschen ");
System.out.println("Drücken Sie die \"3\" um ihre Aufgaben anzuzeigen ");
System.out.println("Drücken Sie die \"4\" um ihre eingetragenen Aufgaben in die Textdatei zu schreiben ");
System.out.println("Drücken Sie die \"5\" um ihre eingetragenen Aufgaben der Textdatei einzulesen ");
System.out.println("Drücken Sie die \"0\" um das Programm zu beenden ");
Scanner in = new Scanner(System.in);
String a = in.nextLine();
if ( a.charAt(0) == '1' && a.length()==1) {
Aufgabehinzufuegen(anzahl, titel, tätigkeitsbeschreibung,dringlichkeitsstufe, datum, i);
Menue(anzahl, titel, tätigkeitsbeschreibung, dringlichkeitsstufe,datum,eingabeZeile );
}
if(a.charAt(0)== '2' && a.length()==1){
Ausgabe(titel,tätigkeitsbeschreibung,anzahl,i,dringlichkeitsstufe,datum);
Loeschen(titel,tätigkeitsbeschreibung,dringlichkeitsstufe,datum,anzahl);
Ausgabe(titel,tätigkeitsbeschreibung,anzahl,i,dringlichkeitsstufe,datum);
Menue(anzahl, titel, tätigkeitsbeschreibung, dringlichkeitsstufe,datum,eingabeZeile );
}
if(a.charAt(0)=='3'&& a.length()==1){
Ausgabe(titel,tätigkeitsbeschreibung,anzahl,i,dringlichkeitsstufe,datum);
Menue(anzahl, titel, tätigkeitsbeschreibung, dringlichkeitsstufe,datum ,eingabeZeile);
}
if(a.charAt(0)=='4'&& a.length()==1){
Savetofile(titel,anzahl,tätigkeitsbeschreibung,dringlichkeitsstufe,datum,count);
System.err.println("Ihre Eingaben wurden in der Textdatei gespeichert");
Menue(anzahl, titel, tätigkeitsbeschreibung, dringlichkeitsstufe,datum,eingabeZeile);
}
if(a.charAt(0)=='5'&& a.length()==1){
Loadfromfile(anzahl,count,titel,tätigkeitsbeschreibung,dringlichkeitsstufe,datum);
Menue(anzahl, titel, tätigkeitsbeschreibung, dringlichkeitsstufe,datum,eingabeZeile);
}
if(a.charAt(0)=='6' &&a.length()==1){
verwalten(titel,anzahl,tätigkeitsbeschreibung,dringlichkeitsstufe,datum,eingabeZeile, i);
Menue(anzahl, titel, tätigkeitsbeschreibung, dringlichkeitsstufe,datum,eingabeZeile );
}
if(a.charAt(0)=='0'&& a.length()==1){
Programmbeenden();
}
else Menue(anzahl, titel, tätigkeitsbeschreibung, dringlichkeitsstufe,datum,eingabeZeile );
}
static void Aufgabehinzufuegen (int anzahl,String[]titel,String[]tätigkeitsbeschreibung,String[] dringlichkeitsstufe,String[] datum,int i){
Scanner in = new Scanner(System.in);
while(titel[i]!=null){
i++;
}
if(titel[i]==null){
do{
System.out.print("Geben Sie den Titel ihrer Aufgabe ein ");
titel[i] = in.nextLine();
if(titel[i].length()==0)System.out.println("--->Sie haben grad eben leider nichts eingegeben.Geben Sie diesmal was ein<---");
} while(titel[i].length()==0);
count++;
do{
System.out.print("Geben Sie die Tätigkeitsbeschreibung ihrer Aufgabe ein ");
tätigkeitsbeschreibung[i]=in.nextLine();
if(tätigkeitsbeschreibung[i].length()==0)System.out.println("--->Sie haben grad eben leider nichts eingegeben.Geben Sie diesmal was ein<---");
} while(tätigkeitsbeschreibung[i].length()==0);
count++;
do{
System.out.print("Geben Sie die Dringlichkeitsstufe ihrer Aufgabe ein ");
dringlichkeitsstufe[i]=in.nextLine();
if(dringlichkeitsstufe[i].length()==0)System.out.println("--->Sie haben grad eben leider nichts eingegeben.Geben Sie diesmal was ein<---");
} while(dringlichkeitsstufe[i].length()==0);
count++;
do{
System.out.print("Geben Sie ein Datum ein, bis wann ihre Aufgabe erledigt werden soll ");
datum[i]=in.nextLine();
if(datum[i].length()==0)System.out.println("--->Sie haben grad eben leider nichts eingegeben.Geben Sie diesmal was ein<---");
} while(datum[i].length()==0);
count++;
int zaehler=count;
System.out.println(count);
i++;
if(i==anzahl){
anzahl=anzahl+anzahl;
String[] titel2 = new String[anzahl];
String[] tätigkeitsbeschreibung2 = new String[anzahl];
String[] dringlichkeitsstufe2 = new String[anzahl];
String[] datum2 = new String[anzahl];
System.arraycopy(titel,0, titel2, 0, titel.length-1);
System.arraycopy(tätigkeitsbeschreibung,0,tätigkeitsbeschreibung2 , 0, tätigkeitsbeschreibung.length-1);
System.arraycopy(dringlichkeitsstufe,0,dringlichkeitsstufe2, 0, dringlichkeitsstufe.length-1);
System.arraycopy(datum,0, datum2, 0, datum.length-1);
titel = new String[anzahl];
tätigkeitsbeschreibung = new String[anzahl];
dringlichkeitsstufe = new String[anzahl];
datum = new String[anzahl];
System.arraycopy(titel2,0, titel, 0, titel2.length-1);
System.arraycopy(tätigkeitsbeschreibung2,0,tätigkeitsbeschreibung , 0, tätigkeitsbeschreibung2.length-1);
System.arraycopy(dringlichkeitsstufe2,0,dringlichkeitsstufe, 0, dringlichkeitsstufe2.length-1);
System.arraycopy(datum2,0, datum, 0, datum2.length-1);
} }
}
static void Ausgabe(String[]titel,String[] tätigkeitsbeschreibung,int anzahl,int i,String[]dringlichkeitsstufe,String[]datum){
i=0;
while(i<anzahl){
if ( titel[i]!=null && tätigkeitsbeschreibung[i]!=null && dringlichkeitsstufe[i]!=null && datum[i]!=null &&titel[i]!="" && tätigkeitsbeschreibung[i]!="" && dringlichkeitsstufe[i]!="" && datum[i]!="" ){
System.out.println("Position: "+i+" mit Titel : "+titel[i]+" .Diese Aufgabe hat die Dringlichkeitsstufe : "+dringlichkeitsstufe[i]);
}
i++;
}
}
static void Programmbeenden( ){
System.out.println(" -->Das Programm ist beendet<-- ");
}
static void Loeschen(String[]titel,String[]tätigkeitsbeschreibung,String[]dringlichkeitsstufe,String[]datum,int anzahl){
System.out.println("An welcher Position wollen Sie Ihren Eintrag löschen ?");
Scanner in = new Scanner(System.in);
int eing=in.nextInt();
if (eing>=anzahl||titel[eing]==null){
System.out.println("An dieser Stelle stand noch nichts, daher wurde auch nichts gelöscht");
}
else {titel[eing] = "";
tätigkeitsbeschreibung[eing]="";
dringlichkeitsstufe[eing]="";
datum[eing]="";
System.out.println("Eintrag an Stelle "+eing+" wurde gelöscht");
}
}
static void Arrayerweitern(String[]titel,int anzahl,String[]tätigkeitsbeschreibung,String[]dringlichkeitsstufe,String[]datum ){
anzahl=anzahl+anzahl;
String[] titel2 = new String[anzahl];
String[] tätigkeitsbeschreibung2 = new String[anzahl];
String[] dringlichkeitsstufe2 = new String[anzahl];
String[] datum2 = new String[anzahl];
System.arraycopy(titel,0, titel2, 0, titel.length-1);
System.arraycopy(tätigkeitsbeschreibung,0,tätigkeitsbeschreibung2 , 0, tätigkeitsbeschreibung.length-1);
System.arraycopy(dringlichkeitsstufe,0,dringlichkeitsstufe2, 0, dringlichkeitsstufe.length-1);
System.arraycopy(datum,0, datum2, 0, datum.length-1);
titel = new String[anzahl];
tätigkeitsbeschreibung = new String[anzahl];
dringlichkeitsstufe = new String[anzahl];
datum = new String[anzahl];
System.arraycopy(titel2,0, titel, 0, titel2.length-1);
System.arraycopy(tätigkeitsbeschreibung2,0,tätigkeitsbeschreibung , 0, tätigkeitsbeschreibung2.length-1);
System.arraycopy(dringlichkeitsstufe2,0,dringlichkeitsstufe, 0, dringlichkeitsstufe2.length-1);
System.arraycopy(datum2,0, datum, 0, datum2.length-1);
//MUSS DAS ARRAY UM ANZAHL(5) ERWEITERT WERDEN
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
static void Savetofile(String[]titel,int anzahl,String[]tätigkeitsbeschreibung,String[]dringlichkeitsstufe,String[]datum,int count)throws IOException {
int i=0;
FileWriter ausgabestrom = new FileWriter("C:\\Users\\Lad\\Documents\\out.txt");
PrintWriter ausgabe = new PrintWriter(ausgabestrom);
while (i<anzahl-1&& titel[i]!=null) {
ausgabe.println(titel[i]);
ausgabe.println(tätigkeitsbeschreibung[i]);
ausgabe.println(dringlichkeitsstufe[i]);
ausgabe.println(datum[i]);
i++;// Verarbeitung beendet
}
ausgabe.close(); // Datei schließen
}
static void Loadfromfile(int anzahl,int zaehler,String []titel,String[] tätigkeitsbeschreibung,String[]dringlichkeitsstufe,String[]datum) throws IOException{
int i=0;
int a=0;
int zwei=2;
count=zaehler;
File datei = new File("C:\\Users\\Lad\\Documents\\out.txt");
FileReader eingabestrom = new FileReader(datei);
BufferedReader eingabe = new BufferedReader(eingabestrom);
String[] eingabeZeile = new String[zaehler];
do{System.out.println("In der Datei steht nich nichts,daher wurde auch nichts geladen");
break;}
while(eingabeZeile[a]==null);
while (i <= (zaehler/4)-1&&eingabeZeile[i]!="" ) {
// Verarbeitung von eingabeZeile genau wie bisher über
// die Tastatur (ggf. StringTokenizer, ?parse?() etc.)
eingabeZeile[a] = eingabe.readLine();
titel[i]=eingabeZeile[a];
a++;
eingabeZeile[a] = eingabe.readLine();
tätigkeitsbeschreibung[i]=eingabeZeile[a];
a++;
eingabeZeile[a] = eingabe.readLine();
dringlichkeitsstufe[i]=eingabeZeile[a];
a++;
eingabeZeile[a] = eingabe.readLine();
datum[i]=eingabeZeile[a];
i++;
}
eingabe.close();
// Datei schließen
}
static void verwalten(String[]titel,int anzahl,String[]tätigkeitsbeschreibung,String[]dringlichkeitsstufe,String[]datum,String[]eingabeZeile,int count)throws IOException{
int a=0;
int i=0;
File datei = new File("C:\\Users\\Lad\\Documents\\out.txt");
FileReader eingabestrom = new FileReader(datei);
BufferedReader eingabe = new BufferedReader(eingabestrom);
int zaehler=eingabe.read();
while(i<5){
titel[i]=eingabeZeile[a];
a++;
tätigkeitsbeschreibung[i]=eingabeZeile[a];
a++;
dringlichkeitsstufe[i]=eingabeZeile[a];
a++;
datum[i]=eingabeZeile[a];
a++;
System.out.println(titel[i]);
i++;
}
eingabe.close();
}
}