Array von Personen anzeigen

monogeraet

Neues Mitglied
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:
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.
 
Du legst in das pArray keine Person Objekte rein. In der Schleife erzeugst du zwar Objekte, weist die aber nirgends zu.
 
Vielen Dank für die schnelle Antwort Eike!
Ja wie immer liegt das Problem eigentlich auf der Hand, nur kommt man nicht drauf.

Habe jetzt einfach die Zuweisung und ergänzt und oh wunder hat funktioniert.
 
Warum ist Vorname nicht privat?

Warum initialisierst du die Felder, wenn du sie im Konstruktor befüllst?

Deine Einrückung sollte konsistent sein.

Überflüssige Klammern { ... } sollte man nur mit gutem Grund verwenden.

In einer Zeile sollte nur eine Anweisung stehen.

Sinnlose Kommentare sollte man mit Sinn füllen oder entfernen.
 

Neue Themen


Zurück
Oben