Tach Leute,
mein Problem ist, dass wenn ich mein geschriebenes Programm starte, nicht die gewünschte Ausgabe bekomme. Mein programm ist ein Kalender für 2000-2009 und wenn ich es starte ist die Ausgabe leer. Ich finde einfach den Fehler in der main Methode nicht.
mein Problem ist, dass wenn ich mein geschriebenes Programm starte, nicht die gewünschte Ausgabe bekomme. Mein programm ist ein Kalender für 2000-2009 und wenn ich es starte ist die Ausgabe leer. Ich finde einfach den Fehler in der main Methode nicht.
Java:
public class Grundlagen {
public static void main(String[] args) {
int jahr, monat, tag, stunde;
String[][][][] termine;// termine [jahr] [monat][tag][stunde]
termine = new String[10][12][][];
for (jahr = 0; jahr < termine.length; jahr++)
for (monat = 0; monat < termine[jahr].length; monat++) {
switch (monat) {
case 0:
termine[jahr][monat] = new String[31][24];// Januar
break;
case 1:
termine[jahr][monat] = new String[28][24];// Februar
break;
case 2:
termine[jahr][monat] = new String[30][24];//März
break;
case 3:
termine[jahr][monat] = new String[31][24];
break;
case 4:
termine[jahr][monat] = new String[30][24];
break;
case 5:
termine[jahr][monat] = new String[31][24];
break;
case 6:
termine[jahr][monat] = new String[30][24];
break;
case 7:
termine[jahr][monat] = new String[31][24];
break;
case 8:
termine[jahr][monat] = new String[30][24];
break;
case 9:
termine[jahr][monat] = new String[31][24];
break;
case 10:
termine[jahr][monat] = new String[30][24];
break;
case 11:
termine[jahr][monat] = new String[31][24];
break;
default:
System.out.println("Interner Fehler");
}
}
// Anzahl der Monate f. die Schaltjahre (2000, 2004, 2008) korrigieren
termine[0][1] = new String[29][24]; // Jahr 2000
termine[4][1] = new String[29][24]; // Jahr 2004
termine[8][1] = new String[29][24]; // Jahr 2008
// Leere felder für die einzelnen Tage
for (jahr = 0; jahr < termine.length;)
for (monat = 0; monat < termine[jahr].length; monat++)
for (tag = 0; tag < termine[jahr][monat].length; tag++)
for (stunde = 0; stunde < termine[jahr][monat][tag].length; stunde++)
termine[jahr][monat][tag][stunde] = "";
// Abfrage in switch case
boolean fertig = false;
while (!fertig) {
System.out.println("1=Neuer Eintrag");
System.out.println("2=Termine ausgeben");
System.out.println("3=Programm beenden");
System.out.println("Ihre Wahl");
Scanner in = new Scanner(System.in);
int auswahl = in.nextInt();
switch (auswahl) {
// Termine eingeben
case 1:
System.out.println("Welches Jahr?");
jahr = in.nextInt();
if (auswahl < 2000 || auswahl > 2009) {
System.out.println("Falsche Eingabe.");
break;
}
System.out.println("Welcher monat?");
monat = in.nextInt();
if (monat < 1 || monat > 12) {
System.out.println("Falsche eingabe");
break;
}
System.out.println("Welcher Tag?");
tag = in.nextInt();
if (tag < 1 || tag > 31) {
System.out.println("Falsche Eingabe");
break;
}
System.out.println("Welche Stunde");
stunde = in.nextInt();
if (stunde < 0 || stunde > 23) {
System.out.println("Falsche Eingabe");
break;
}
System.out.println("Termin:");
String eingabe = in.next();
termine[jahr][monat][tag][stunde] = eingabe;
// Termine ausgeben
case 2:
System.out.println("Welches Jahr");
jahr = in.nextInt();
if (auswahl < 2000 || auswahl > 2009) {
System.out.println("Falsche Eingabe");
break;
}
System.out.println("Welcher Monat");
monat = in.nextInt();
if (monat < 1 || monat > 12) {
System.out.println("Eingabefehler");
break;
}
System.out.println("Welher Tag");
tag = in.nextInt();
if (tag < 1 || tag > 31) {
System.out.println("Eingabefehler");
break;
}
System.out.println("Welche Stunde");
stunde = in.nextInt();
if (stunde < 1 || stunde > 24) {
System.out.println("Eingabefehler");
break;
}
for (stunde = 0; stunde < termine[jahr][monat][tag].length; stunde++)
System.out.println(stunde + " Uhr: "
+ termine[jahr][monat][tag][stunde]);
break;
case 3:// Prodgramm beenden;
fertig = true;
break;
default:
System.out.println("Eingabefehler");
}
}
}
}