Hallo zusammen,
ich habe hier eine Übungsaufgabe, an der ich mittlerweile seit Stunden am gleichen Problem sitze.
Es geht darum ein Array der Klasse Person anzulegen und im Anschluss eine Liste mit den Personen auszugeben. Die Ausgabe soll mit Hilfe einer Methode toString der Klasse Person erfolgen.
Mir ist es gelungen die Personen "einzulesen", aber bei der Ausgabe bekomme ich immer eine NullPointerException und ich komme nicht drauf warum.
Hier die Klasse Person:
Und hier meine Main Klasse mit der Abfrage der Liste.
Das Problem taucht in der Zeile "System.out.println..." auf.
Wenn hier also jemand für mich nen Tip hat wo mein Fehler liegt wäre ich ganz dankbar.
ich habe hier eine Übungsaufgabe, an der ich mittlerweile seit Stunden am gleichen Problem sitze.
Es geht darum ein Array der Klasse Person anzulegen und im Anschluss eine Liste mit den Personen auszugeben. Die Ausgabe soll mit Hilfe einer Methode toString der Klasse Person erfolgen.
Mir ist es gelungen die Personen "einzulesen", aber bei der Ausgabe bekomme ich immer eine NullPointerException und ich komme nicht drauf warum.
Hier die Klasse Person:
Java:
package meinPaket;
import meinPaket.javautil.Tastatur;
public class Person {
String vorname = "Vorname";
private String nachname ="Nachname";
private int alter =0;
private boolean maennlich;
public Person() {
this.vorname = Tastatur.readString("Vorname: ");
this.nachname = Tastatur.readString("Nachname: ");
this.alter = Tastatur.readint("Alter: ");
char geschlecht = Tastatur.readchar ("Geschlecht (m für männlich, w für weiblich) "); {
if (geschlecht=='m')maennlich=true;
else maennlich = false;
}
}
public String getVorname() {
return vorname;
}
public void setVorname(String vorname) {
this.vorname = vorname;
}
public String getNachname() {
return nachname;
}
public void setNachname(String nachname) {
this.nachname = nachname;
}
public int getAlter() {
return alter;
}
public void setAlter(int alter) {
this.alter = alter;
}
public boolean isMaennlich() {
return maennlich;
}
public void setMaennlich(boolean maennlich) {
this.maennlich = maennlich;
}
public String toString(){
String personenDaten= "Name: " +this.vorname +" " +this.nachname +", Alter: "+this.alter +", Geschlecht: " +this.maennlich;//"
return personenDaten;
}
}
Und hier meine Main Klasse mit der Abfrage der Liste.
Java:
import meinPaket.javautil.Tastatur;
public class Test_Person {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int anzahl = Tastatur.readint("Anzahl der einzugebenden Personen: ");
Person[] pArray = new Person[anzahl];
for(int i=0; i<pArray.length; i++){
Person pNeu= new Person();
}
System.out.println ("Liste der Personen:");
for(int j=0; j<pArray.length; j++){
int k=j+1;
System.out.println("Person "+k+" :" +pArray[j].toString()); //
}
}
Das Problem taucht in der Zeile "System.out.println..." auf.
Wenn hier also jemand für mich nen Tip hat wo mein Fehler liegt wäre ich ganz dankbar.