HalliHallo Leute,
muss für mein Studium einen Terminkalender programmieren, den ich auch so gut wie fertig habe, nur hab ich noch ein Problem dass ich einfach nicht lösen kann =(
Ich lege Termine in ein Array an etc... klappt alles. Auch mit BufferedReader und BufferedWriter schaffe ich es auch diese Termine wieder einzulesen und zu speichern.
Bloss schaff ich es einfach nicht die gespeicherten Termine in mein, nach Neustart leeres Array, reinzuladen und somit kann ich diese auch nicht bearbeiten.
Hoffe das ihr mir helfen könnt
EinleseMethode:
muss für mein Studium einen Terminkalender programmieren, den ich auch so gut wie fertig habe, nur hab ich noch ein Problem dass ich einfach nicht lösen kann =(
Ich lege Termine in ein Array an etc... klappt alles. Auch mit BufferedReader und BufferedWriter schaffe ich es auch diese Termine wieder einzulesen und zu speichern.
Bloss schaff ich es einfach nicht die gespeicherten Termine in mein, nach Neustart leeres Array, reinzuladen und somit kann ich diese auch nicht bearbeiten.
Hoffe das ihr mir helfen könnt
Java:
package Testat;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.ObjectOutputStream;
//Testat Lukas Oppelt
import java.io.Serializable;
import java.util.Scanner;
public class TerminKalender implements Serializable {
public static void main(String[] args) throws IOException, ClassNotFoundException, NullPointerException {
String datei = "data.txt";
FileWriter fw = new FileWriter(datei, true);
BufferedWriter ausgabe = new BufferedWriter(fw);
EinLesen a = new EinLesen();
a.DatenEinLesen();
Termin ay = null;
int anzahlTermine = 3;
Termin arraylist[] = new Termin[anzahlTermine]; // Initialisierung von
boolean ProgrammLaeuft = true;
String s = null;
Scanner sc1 = new Scanner(System.in); // Array, Schleifen,
// Scanner
while (ProgrammLaeuft) {
new TextMenue(); // textmenü methode wird aufgerufen
s = sc1.next();
if (s.equals("n"))
{
NeuenTerminErstellen bb = new NeuenTerminErstellen();
bb.NeuenTerminAnlegen(arraylist, o, s, sc1, ausgabe,datei);
}
else if (s.equals("l"))
{
for (int i = 0; i < anzahlTermine; i++)
{
System.out.print("\nTermin " + i + ":\n "); // Liste aller Termine wird angezeigt
System.out.println(arraylist[i]);
}
}
else if (s.equals("b"))
{
Terminbearbeiten aaa = new Terminbearbeiten();
aaa.TermineBearbeiten(a, anzahlTermine, o, arraylist, sc1, ausgabe,datei,ay);
}
else if (s.equals("a"))
{
ProgrammLaeuft = false; // Der vorgang wird beendet bzw die // Schleife abgebrochen
ProgrammAbbruch abb = new ProgrammAbbruch();
abb.ProgrammAbbrechenSpeichern(ProgrammLaeuft, ausgabe, datei);
}
else if (s.equals("d"))
{
KWundWochentag z = new KWundWochentag(); // Hier lässt sich nochmals separat der
z.KWundWochentagBerechnen(); // Wochentag und die KalenderWoche abfragen
}
}
}
}
EinleseMethode:
Java:
package Testat;
import java.io.*;
import java.io.Serializable;
public class EinLesen implements Serializable {
public EinLesen(){}
public void DatenEinLesen() throws IOException
{
System.out.println("Ihre bisher eingespeicherten Termine.");
BufferedReader br = new BufferedReader(new FileReader("data.txt"));
String zeile = null ;
while ((zeile = br.readLine()) != null)
{
System.out.println(zeile);
}
br.close();
}
}
Java:
public class NeuenTerminErstellen implements Serializable {
public NeuenTerminErstellen(){}
public void NeuenTerminAnlegen (Termin [] arraylist, ObjectOutputStream o,String s, Scanner sc1, BufferedWriter ausgabe, String datei) throws IOException
{
FileWriter fw = new FileWriter(datei,true);
boolean TerminKette = true ;
int i = 0;
//neuer Termin wird erstellt
while(TerminKette) //wenn N gedrückt wird
{
System.out.println("Geben Sie eine Nummer für Ihren Termin ein. (0-3)");
i = sc1.nextInt();
if ( arraylist[i] != null)
{
System.out.println("\nDieser Termin ist bereits belegt.");
System.out.println("Bitte wählen Sie eine andere Nummer aus.");
System.out.println("+--------------------------------------+");
TerminKette = true;
}
else if(arraylist[i] == null)
{
arraylist[i]= new Termin();
System.out.print("\nTermin "+ i + ":\n ");
ausgabe.write("\nTermin "+ i + ":\n ");
ausgabe.write(arraylist[i].toString2());
System.out.println(arraylist[i].toString()); //Ausgabe von der toString1 Methode
System.out.println("+--------------------------------------------------------------+");
System.out.println("Ihr Termin wurde in der Datei: " + datei + " abgespeichert.");
System.out.println("+--------------------------------------------------------------+");
i++;
}
System.out.println("\n\nWas möchten Sie nun tun?\n");
System.out.println("Wenn Sie erneut einen Termin eingeben wollen, dann drücken Sie die Taste 'n'.");
System.out.println("Wenn Sie den Vorgang abbrechen wollen, dann drücken Sie die Taste 'a'.\n");
s = sc1.next();
if(s.equals("n"))
{
TerminKette = true; //Abfrage nachdem man Termin erstellt hat
}
else if (s.equals("a"))
{
TerminKette = false;
}
}
}
}
Java:
package Testat;
import java.util.Scanner;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.*;
public class Terminbearbeiten {
public Terminbearbeiten(){}
public void TermineBearbeiten(EinLesen a, int anzahlTermine, ObjectOutputStream o, Termin [] arraylist, Scanner sc1, BufferedWriter ausgabe,
String datei, Termin ay) throws IOException
{
System.out.println("Alle Termine, die Sie bearbeiten können.");
for (int j = 0; j < anzahlTermine; j++)
{
System.out.print("\nTermin " + j + ":\n "); // Liste aller Termine wird angezeigt
System.out.println(arraylist[j]);
}
System.out.println("\n+----------------------------------------------------------------------+");
System.out.println("Welchen Termin möchten Sie bearbeiten? Geben Sie ihre Terminnummer ein.");
System.out.println("+----------------------------------------------------------------------+");
int i = sc1.nextInt();
if(arraylist[i] == null)
{
System.out.println("Ihr Termin ist leer bzw. in Ihrem Termin wurde noch nichts eingetragen. Bitte neu eingeben.");
}
else if(i <= anzahlTermine)
{
arraylist[i].TerminBearbeitung();
// o.writeObject(arraylist);
ausgabe.write("\nTermin "+i+"(neu)");
ausgabe.write(arraylist[i].toString2());
}
}
}