Objekte in ObjektArray speichern und ausgeben

Bigliner

Mitglied
Ich versuche zur Zeit ein Objektarray anzulegen welches Obejekte speichern soll und diese ausgeben.
Nur bekomme ich immer NullpointerExceptions und weiß nicht woran es liegt. Könnt ihr mir helfen?
Habe schon versuch mit der toString methode es zu lösen bekomme kriege aber auch das nicht gebacken.... Oh und das wichtige ich darf den Code aus TutVerwaltung nicht ändern.

Hier ist ein Code von der Klasse Tutorium:

public class Tutorium {

Student[] teilnehmerpprJ= new Student[2];
Student[] teilnehmerpprX= new Student[30];

public int kapazitaet;
public int raumNr;
public String tutor;
public String fach;

public Tutorium(int kapazitaet, int raumNr, String tutor, String fach){

this.kapazitaet=kapazitaet;
this.raumNr=raumNr;
this.tutor=tutor;
this.fach=fach;
}
public void ausgeben(){

Terminal.println("Die RaumNr des Tutorium ist: "+ raumNr);
Terminal.println("Der Tutor heißt: " + tutor);
Terminal.println("Das Fach heißt: " + fach );
for (int i=1; i<teilnehmerpprJ.length; i++)

Terminal.println("Teilnehmer:" + teilnehmerpprJ.getname() + teilnehmerpprJ.getmatrikel());}

public Student[] teilnehmerlistepprJ (){

teilnehmerpprJ[0] = new Student( "Lil Wayne", 123456 );
teilnehmerpprJ[1] = new Student( "Busta Rhymes", 234567 );

return teilnehmerpprJ;

}

}

------------------------------------------------------------------------------------------
Hier ist der Hauptcode:

public class TutVerwaltung{

public static void main(String args[]){
Tutorium pprJ = new Tutorium( 30, 6057, "Mareike", "PPR Java" );
Tutorium pprX = new Tutorium( 2, 0000, "Snoop Dogg", "PPR Xclusive" );
Student lw = new Student( "Lil Wayne", 123456 );
Student br = new Student( "Busta Rhymes", 234567 );
Student ch = new Student( "Cypress Hill", 345678 );
Sekretariat.studentAufnehmen( pprX, lw );
Sekretariat.studentAufnehmen( pprX, br );
if ( !Sekretariat.istVoll( pprX )) Terminal.println( "Das Tutorium ist Voll");
if ( Sekretariat.studentAufnehmen( pprX, ch )) Terminal.println( "Der Student kann angenommen werden");
else {
Terminal.println( "Ich muss leider draußen bleiben: " );
ch.ausgeben();
}
char mehr = 'n';
while ( true ){
mehr = Terminal.askChar( "Was nun? tudent in ppr aufnehmen / [t]eilnehmerliste für ppr Java anzeigen / Teilnehmerliste für ppr [x]clusive anzeigen / eenden " );
if ( mehr == 's' ){
String name = Terminal.askString( "Wie heißt der Student? " );
int matr = Terminal.askInt( "Wie ist seine Matrikelnummer?" );
Student newStudent = new Student( name, matr );
if ( Sekretariat.studentAufnehmen( pprJ, newStudent ))
{Terminal.println( "Leider ist das Tutorium voll." );

}
}
else if ( mehr == 't' ) pprJ.ausgeben();
else if ( mehr == 'x' ) pprX.ausgeben();
else break;
}
}

}


Fehler:
Das Tutorium ist Voll
Ich muss leider draußen bleiben:
Mein Name ist: Cypress Hill
Meine Matrikelnummer ist : 345678
Was nun? tudent in ppr aufnehmen / [t]eilnehmerliste für ppr Java anzeigen / Teilnehmerliste für ppr [x]clusive anzeigen / eenden t
Die RaumNr des Tutorium ist: 6057
Der Tutor heißt: Mareike
Das Fach heißt: PPR Java
Exception in thread "main" java.lang.NullPointerException
at Tutorium.ausgeben(Tutorium.java:28)
at TutVerwaltung.main(TutVerwaltung.java:29)
 
Sorry habs leider nicht gelesen...
Editen ging nicht mehr also hier ist nochmal der Code mit Java-Tags
[Java]public class Tutorium {

Student[] teilnehmerpprJ= new Student[2];
Student[] teilnehmerpprX= new Student[30];

public int kapazitaet;
public int raumNr;
public String tutor;
public String fach;

public Tutorium(int kapazitaet, int raumNr, String tutor, String fach){

this.kapazitaet=kapazitaet;
this.raumNr=raumNr;
this.tutor=tutor;
this.fach=fach;
}
public void ausgeben(){

Terminal.println("Die RaumNr des Tutorium ist: "+ raumNr);
Terminal.println("Der Tutor heißt: " + tutor);
Terminal.println("Das Fach heißt: " + fach );
for (int i=1; i<teilnehmerpprJ.length; i++)

Terminal.println("Teilnehmer:" + teilnehmerpprJ.getname() + teilnehmerpprJ.getmatrikel());}

public Student[] teilnehmerlistepprJ (){

teilnehmerpprJ[0] = new Student( "Lil Wayne", 123456 );
teilnehmerpprJ[1] = new Student( "Busta Rhymes", 234567 );

return teilnehmerpprJ;

}

}[/code]

Java:
public class TutVerwaltung{

public static void main(String args[]){
Tutorium pprJ = new Tutorium( 30, 6057, "Mareike", "PPR Java" );
Tutorium pprX = new Tutorium( 2, 0000, "Snoop Dogg", "PPR Xclusive" );
Student lw = new Student( "Lil Wayne", 123456 );
Student br = new Student( "Busta Rhymes", 234567 );
Student ch = new Student( "Cypress Hill", 345678 );
Sekretariat.studentAufnehmen( pprX, lw );
Sekretariat.studentAufnehmen( pprX, br );
if ( !Sekretariat.istVoll( pprX )) Terminal.println( "Das Tutorium ist Voll");
if ( Sekretariat.studentAufnehmen( pprX, ch )) Terminal.println( "Der Student kann angenommen werden");
else {
Terminal.println( "Ich muss leider draußen bleiben: " );
ch.ausgeben();
}
char mehr = 'n';
while ( true ){
mehr = Terminal.askChar( "Was nun? [s]tudent in ppr aufnehmen / [t]eilnehmerliste für ppr Java anzeigen / Teilnehmerliste für ppr [x]clusive anzeigen / [b]eenden " );
if ( mehr == 's' ){
String name = Terminal.askString( "Wie heißt der Student? " );
int matr = Terminal.askInt( "Wie ist seine Matrikelnummer?" );
Student newStudent = new Student( name, matr );
if ( Sekretariat.studentAufnehmen( pprJ, newStudent ))
{Terminal.println( "Leider ist das Tutorium voll." );

}
}
else if ( mehr == 't' ) pprJ.ausgeben();
else if ( mehr == 'x' ) pprX.ausgeben();
else break;
}
}

}
 
Zuletzt bearbeitet:
Fehler:

Exception in thread "main" java.lang.NullPointerException
at Tutorium.ausgeben(Tutorium.java:28)
at TutVerwaltung.main(TutVerwaltung.java:29)

sorry stand auch in meinem Anfangspost

// eigentlich ist auch der Code bischen beschissen geschrieben... Die generierten Objekte Student wurde ja eigentlich schon in der Tutverwaltung generiert aber ich habe keine Ahnung wie man auf diese zugreifen kann.
 
Zuletzt bearbeitet:
In deiner Tutorium-Klasse legst du zwei Student[] Arrays an, nämlich teilnehmerpprJ und teilnehmerpprX. Das erste wird komplett mit Student-Objekten befüllt, das letzte nicht. Deshalb enthält teilnehmerpprX nur null-Objekte. Soblad du von diesen nullen den Namen abfragst fliegt eine NPE.
So wie ich das sehe, gehört in die Tutorium-Klasse nur ein Student[] array. Ausserdem braucht es eine Variable, die die Teilnehmer zählt und eine Methode mit der neue Studenten bzw. Teilnehmer hinzugefügt werden können.
 

Zurück
Oben