S
Student2010
Gast
Exception in thread "main" java.lang.NullPointerException
at Felder.TerminKalender.main(TerminKalender.java:26)
Danke schon mal im Vorraus
L-ectron-X hat diesen Beitrag am 01.02.2008 um 14:43 Uhr editiert.
Titel des Themas angepasst.
at Felder.TerminKalender.main(TerminKalender.java:26)
Danke schon mal im Vorraus
Code:
import Prog1Tools.IOTools;
public class TerminKalender {
public static void main(String[] args) {
boolean fertig;
int auswahl;
int hilf;
int jahr, monat, tag, stunde;
String[][][][] terminkalender = new String[10][][][];
for (jahr = 0; jahr < terminkalender.length; jahr++) { // MONATE
terminkalender[jahr] = new String[12][][];
for (monat = 0; monat < terminkalender[jahr].length; monat++) { // TAGE
// JE
// MONAT MIT
// SCHALTJAHRE
// BERÜCKSICHTIGT
switch (monat) {
case 0: {
terminkalender[jahr][monat] = new String[31][];
break;
}
case 1: {terminkalender[jahr][monat] = new String[28][];
if(terminkalender[jahr][monat]==terminkalender[0][1])
terminkalender[jahr][monat]=new String[29][];
if(terminkalender[jahr][monat]==terminkalender[4][1]) //HIER
terminkalender[jahr][monat]=new String[29][]; //LIEGT
if(terminkalender[jahr][monat]==terminkalender[8][1]) //DAS
terminkalender[jahr][monat]=new String[29][]; //PROBLEM
break;
}
case 2: {
terminkalender[jahr][monat] = new String[31][];
break;
}
case 3: {
terminkalender[jahr][monat] = new String[30][];
break;
}
case 4: {
terminkalender[jahr][monat] = new String[31][];
break;
}
case 5: {
terminkalender[jahr][monat] = new String[30][];
break;
}
case 6: {
terminkalender[jahr][monat] = new String[31][];
break;
}
case 7: {
terminkalender[jahr][monat] = new String[31][];
break;
}
case 8: {
terminkalender[jahr][monat] = new String[30][];
break;
}
case 9: {
terminkalender[jahr][monat] = new String[31][];
break;
}
case 10: {
terminkalender[jahr][monat] = new String[30][];
break;
}
case 11: {
terminkalender[jahr][monat] = new String[31][];
break;
}
}
for (tag = 0; tag < terminkalender[jahr][monat].length; tag++) { // UHRZEIT
terminkalender[jahr][monat][tag] = new String[24];
for (int termin = 0; termin < terminkalender[jahr][monat][tag].length; termin++) {
terminkalender[jahr][monat][tag][termin] = "";
}
}
}
}
fertig = false;
while (!fertig) { // *** Hauptschleife ***
// Zuerst ein Bildschirmmenue
System.out.println();
System.out.println("1 = Neuer Eintrag");
System.out.println("2 = Termine ausgeben");
System.out.println("3 = Programm beenden");
auswahl = IOTools.readInteger("Ihre Wahl: ");
switch (auswahl) {
// *** Menue-Punkt 1: neuer Termin-Eintrag ***
case 1:
jahr = IOTools.readInteger("Welches Jahr (2000-2009)? ");
jahr -= 2000; // Index-Korrektur
if (jahr < 0 || jahr > 9) {
System.out
.println("Fehler: Unzulaessige Eingabe fuer Jahr!");
break;
}
monat = IOTools.readInteger("Welcher Monat (1-12)? ");
monat -= 1; // Index-Korrektur
if (monat < 0 || monat > 11) {
System.out
.println("Fehler: Unzulaessige Eingabe fuer Monat!");
break;
}
// wieviel Tage gibt es im gewaehlten Monat?
hilf = terminkalender[jahr][monat].length;
tag = IOTools.readInteger("Welcher Tag (1-" + hilf + ")? ");
tag -= 1; // Index-Korrektur
if (tag < 0 || tag >= hilf) {
System.out
.println("Fehler: Unzulaessige Eingabe fuer Tage!");
break;
}
stunde = IOTools.readInteger("Welche Stunde (0-23)? ");
if (stunde < 0 || stunde > 23) {
System.out
.println("Fehler: Unzulaessige Eingabe fuer Stunde!");
break;
}
terminkalender[jahr][monat][tag][stunde] = IOTools
.readLine("Eintrag: ");
break;
// *** Menue-Punkt 2: Termine ausgeben ***
case 2:
jahr = IOTools.readInteger("Welches Jahr (2000-2009)? ");
jahr -= 2000; // Index-Korrektur
if (jahr < 0 || jahr > 9) {
System.out
.println("Fehler: Unzulaessige Eingabe fuer Jahr!");
break;
}
monat = IOTools.readInteger("Welcher Monat (1-12)? ");
monat -= 1; // Index-Korrektur
if (monat < 0 || monat > 11) {
System.out
.println("Fehler: Unzulaessige Eingabe fuer Monat!");
break;
}
// wieviel Tage gibt es im gewaehlten Monat?
hilf = terminkalender[jahr][monat].length;
tag = IOTools.readInteger("Welcher Tag (1-" + hilf + ")? ");
tag -= 1; // Index-Korrektur
if (tag < 0 || tag >= hilf) {
System.out
.println("Fehler: Unzulaessige Eingabe fuer Tage!");
break;
}
// alle Kalendereintraege fuer den gewaehlten Tag ausgeben
System.out.println("Termine am " + (tag + 1) + "."
+ (monat + 1) + "." + (jahr + 2000) + ":");
for (stunde = 0; stunde < terminkalender[jahr][monat][tag].length; stunde++)
System.out.println(stunde + " Uhr: "
+ terminkalender[jahr][monat][tag][stunde]);
break;
// *** Menue-Punkt 3: Programm-Ende! ***
case 3:
fertig = true;
System.out.println("\n... und tschuess!");
break;
// *** Unzulaessige Zahl als Menue-Punkt eingegeben ***
default:
System.out
.println("Eingabefehler! Nur die Werte 1, 2 und 3 sind erlaubt!");
} // switch
} // while
}
}
L-ectron-X hat diesen Beitrag am 01.02.2008 um 14:43 Uhr editiert.
Titel des Themas angepasst.