raffiSSL
Lt. Junior Grade
- Registriert
- Feb. 2006
- Beiträge
- 289
Hallo, ich sitze an einem Programm das Professuren und deren Lehrveranstaltungen verwalten soll. Dazu habe ich eine Verwaltungsklasse. In dieser wird ein Objekt-Array der Klasse Professur angelegt, und in diesem wiederum ein Objekt-Array von Lehrveranstaltungen (auch eine Klasse).
Jetzt kann ich problemlos Professuren erstellen, die Ausgabe klappt auch fast wunderbar, aber sobald ich auf eine leere Zelle des Professur-Arrays zugreife wirft er mir die Nullpointer-Exception aus. Mir ist klar das dort wo nix von mir eingetragen wurde null steht, aber ist das wirklich der Grund!? Wenn ja wie kann ich das umgehen? Oder habe ich etwas falsch programmiert?
Komisch ist, das er mir zum Beispiel bei der Ausgabe er st die Exception wirft und dann die eingetragenen Professuren wie gewünscht auflistet.
Hier die Verwaltungsklasse (nur mit der Methode anzeigen der Professuren):
Der Fehler tritt wie gesagt überall auf wo ich das Professurfeld versuche zu durchlaufen.
mfg
Jetzt kann ich problemlos Professuren erstellen, die Ausgabe klappt auch fast wunderbar, aber sobald ich auf eine leere Zelle des Professur-Arrays zugreife wirft er mir die Nullpointer-Exception aus. Mir ist klar das dort wo nix von mir eingetragen wurde null steht, aber ist das wirklich der Grund!? Wenn ja wie kann ich das umgehen? Oder habe ich etwas falsch programmiert?
Komisch ist, das er mir zum Beispiel bei der Ausgabe er st die Exception wirft und dann die eingetragenen Professuren wie gewünscht auflistet.
Hier die Verwaltungsklasse (nur mit der Methode anzeigen der Professuren):
Code:
public class Main {
Professur[] prof;
Professur testProf;
SimpleInput in;
int auswahl; //Menü-Auswahl Variable
int i,z; //Zählvariable für Schleifen in Methoden
int zaehl; //Zählvariable für Professur-Feld
String profName;
int profZahl;
public Main () {
prof = new Professur[50];
testProf = new Professur();
auswahl = 0;
i = z = 0;
zaehl = 0;
profZahl = 0;
in = new SimpleInput();
}
public void go () {
System.out.println("Was wollen sie tun?");
System.out.println("1: Professur anlegen");
System.out.println("2: Lehrveranstaltung anlegen");
System.out.println("3: Professuren anzeigen");
System.out.println("4: Lehrveranstaltungen einer Professur anzeigen");
System.out.println("5: alle Lehrveranstaltungen anzeigen");
System.out.println("6: Programm beenden");
System.out.println("===============================================");
do {
auswahl = in.readInt("Auswahl: ");
System.out.println();
switch (auswahl) {
case 1:
prof[zaehl] = testProf.anlegenProf();
zaehl++;
break;
case 2:
suche();
break;
case 3:
anzeigeProf();
break;
case 4:
anzeigeFrage();
break;
case 5:
anzeigeLehrundProf();
break;
case 6:
System.out.println("Programm beendet.");
break;
default:
System.out.println("Falsche Eingabe, bitte versuchen Sie es noch einmal.");
break;
}
} while (auswahl != 6 && i < 50);
}
...
public void anzeigeProf () {
/*Anzeige der Professurenliste*/
int help = 0;
for (i = 0; i < 50; i++) {
if (prof[i].getName() != null) {
System.out.println((i+1)+". "+prof[i].getName());
help++;
}
}
if (help == 0){
System.out.println("Noch keine Professuren vorhanden");
}
}
...
Der Fehler tritt wie gesagt überall auf wo ich das Professurfeld versuche zu durchlaufen.
mfg