Hallo, ich verzweifel langsam und bin jetzt auf dieses Forum gestoßen.
Und zwar geht es um folgendes ich muss einen Terminkalender programmieren, der Termine anlegen kann, alle anzeigen kann und einen Termin ändern kann. Das alles soll in einer Textdatei gespeichert werden und genau da liegt mein Problem, ich bekomme es nicht hin das Objekt in die Textdatei zu schreiben, bzw. wenn ich das ganze Objekt serialisiere es wieder auszulesen und auszugeben.
Ich habe bis jetzt 3 Klassen:
Main, Menue, Date
Main
Menu
Date
Ich hab die auskommentierte Version mal mit drinnen gelassen, das wäre dann wenn ich serialisieren würde, dann speichert er mir zwar das Object in eine .dat datei allerdings kann ich das objekt nicht mehr lesen, bzw hab ich keinen Schimmer wie ich die einzelnen Sachen dann wieder ausgebe.
Und bei der Textdateiversion will er mir so nicht in die Datei schreiben, ich weiß das println das nicht kann so wie ich das will, allerdings muss es doch irgend einen weg geben das ich so in die Textdatei schreiben kann ?! oder nicht
Und nein ich will nicht das iwer von mir Hausaufgaben oder so erledigt auch wenn das jetzt vll so klingt, muss mich fürs Studium in Java einfinden was für mich nicht leicht ist(gelernter Anwendungsentwickler allerdings nur C#) da ist alles ein bisschen anders, hätte nur gern falls möglich ein paar denkanstöße
Und zwar geht es um folgendes ich muss einen Terminkalender programmieren, der Termine anlegen kann, alle anzeigen kann und einen Termin ändern kann. Das alles soll in einer Textdatei gespeichert werden und genau da liegt mein Problem, ich bekomme es nicht hin das Objekt in die Textdatei zu schreiben, bzw. wenn ich das ganze Objekt serialisiere es wieder auszulesen und auszugeben.
Ich habe bis jetzt 3 Klassen:
Main, Menue, Date
Main
Java:
Menu m = new Menu();
m.Show();
Menu
Java:
public class Menu
{
public void Show() throws ClassNotFoundException
{
int choice = 0, day = 0, month = 0, year = 0, hour = 0, minute = 0;
String name, descr;
Scanner keyboardReader = new Scanner(System.in);
System.out.println("Willkommen in Ihrem persönlichen Kalender");
System.out.println("");
System.out.println("1 = neuen Termin anlegen; 2 = Termine anzeigen; 3 = Termine bearbeiten");
System.out.println("");
System.out.println("Bitte wählen Sie einen der Menuepunkte aus: ");
choice = keyboardReader.nextInt();
switch(choice)
{
case 1:
System.out.println("Bitte geben Sie einen Namen ein:");
name = keyboardReader.next();
System.out.println("Bitte geben Sie einen Tag ein(1-31)");
day = keyboardReader.nextInt();
System.out.println("Bitte geben Sie ein Monat ein(1-12)");
month = keyboardReader.nextInt();
System.out.println("Bitte geben Sie ein Jahr ein:");
year = keyboardReader.nextInt();
System.out.println("Bitte geben Sie eine Stunde ein(0-23):");
hour = keyboardReader.nextInt();
System.out.println("Bitte geben Sie die Minuten ein(0-59):");
minute = keyboardReader.nextInt();
System.out.println("Bitte geben Sie eine Beschreibung ein:");
descr = keyboardReader.next();
Date newDate = new Date(name, day, month, year, hour, minute, descr);
newDate.Save(/*newDate*/);
break;
case 2:
System.out.println("Sie haben 2 gewählt");
case 3:
System.out.println("Sie haben 3 gewählt");
break;
default:
System.out.println("Falsche Eingabe, starten Sie das Programm bitte neu");
}
keyboardReader.close();
}
}
Date
Java:
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.io.Serializable;
public class Date implements Serializable
{
private String m_name, m_descr;
private int m_day, m_month, m_year, m_hour, m_minute;
public Date(String name, int day, int month, int year, int hour, int minute, String descr)
{
this.m_name = name;
this.m_day = day;
this.m_month = month;
this.m_year = year;
this.m_hour = hour;
this.m_minute = minute;
this.m_descr = descr;
}
public void Save(/*Date d*/)
{
/*
try
{
ObjectOutputStream o = new ObjectOutputStream(new FileOutputStream("calendar.dat",true));
o.writeObject(d);
o.close();
System.out.println("Termin wurde gespeichert");
}
catch(IOException e)
{
System.err.println(e);
}
*/
PrintWriter output = null;
try
{
output = new PrintWriter(new FileOutputStream("calendar.txt, true"));
output.println(this.m_name, this.m_day, this.m_month, this.m_year, this.m_hour, this.m_minute, this.m_descr);
output.close();
}
catch (FileNotFoundException e)
{
System.out.println("Kann Datei nicht öffnen");
System.exit(0);
}
if(output.checkError() == false)
{
System.out.println("Datum gespeichert");
}
else
{
System.out.println("Ein Fehler ist aufgetretten");
}
output.close();
}
public String getName() {
return m_name;
}
public void setName(String m_name) {
this.m_name = m_name;
}
public String getDescr() {
return m_descr;
}
public void setDescr(String m_descr) {
this.m_descr = m_descr;
}
public int getDay() {
return m_day;
}
public void setDay(int m_day) {
this.m_day = m_day;
}
public int getMonth() {
return m_month;
}
public void setMonth(int m_month) {
this.m_month = m_month;
}
public int getYear() {
return m_year;
}
public void setYear(int m_year) {
this.m_year = m_year;
}
public int getHour() {
return m_hour;
}
public void setHour(int m_hour) {
this.m_hour = m_hour;
}
public int getMinute() {
return m_minute;
}
public void setMinute(int m_minute) {
this.m_minute = m_minute;
}
}
Ich hab die auskommentierte Version mal mit drinnen gelassen, das wäre dann wenn ich serialisieren würde, dann speichert er mir zwar das Object in eine .dat datei allerdings kann ich das objekt nicht mehr lesen, bzw hab ich keinen Schimmer wie ich die einzelnen Sachen dann wieder ausgebe.
Und bei der Textdateiversion will er mir so nicht in die Datei schreiben, ich weiß das println das nicht kann so wie ich das will, allerdings muss es doch irgend einen weg geben das ich so in die Textdatei schreiben kann ?! oder nicht
Und nein ich will nicht das iwer von mir Hausaufgaben oder so erledigt auch wenn das jetzt vll so klingt, muss mich fürs Studium in Java einfinden was für mich nicht leicht ist(gelernter Anwendungsentwickler allerdings nur C#) da ist alles ein bisschen anders, hätte nur gern falls möglich ein paar denkanstöße
Zuletzt bearbeitet: