Datentypen Array mit Daten befüllen

pet0r

Mitglied
Moin,

bin dabei Java zu lernen und komme mit einem Array nicht ganz klar.
Dieses Array soll mit Objekten aus einer anderen Klasse gefüllt werden.

In der Klasse Person sollen alle Personen Objekte stehen.

Java:
class Person { //Eigenschaften, Merkmale, Instanzvatiablen

private String  name; 
private int     geboren;

//Konstruktor Methode
    public Person (String namePerson, int geburtsjahr) {
        name =      namePerson;
        geboren =   geburtsjahr;
    }
    
    // Zugriffsmethoden, lesend
    public String getName () {return name; }
    public int getGeburtsjahr () {return geboren; }

    //Zugfriffsmethoden, schreiben
    public void setName (String neu) { name=neu; }
    public void setGeburtsjahr (int jahr) {geboren=jahr; }
    
    public int getAlter (int imJahr) {
        return imJahr - geboren; //Alter = Differenz Jahr und GB-Jahr
    } //getAlter
    
    public String toString() {
        return name + " , geboren " +geboren;
    } //toString 
       
   }

In der Klasse Team soll ein Array erstellt werden mir Personen aus Klasse Person.

Java:
public class Team {
    private Person[] team ;
    private int zteam;
    private int maxSt;
    
    public Team (int anzahl) {
        maxSt = anzahl;
        team = new Person [maxSt];
        zteam = 0;
    }
    
     
    public void hinzu (Person neu) {
        if (zteam<maxSt) { 
            team[zteam] = neu;
            zteam++;
        }
    }
    
    public int getAnzahl() { 
        return zteam;
    }
}

Das Array wird auch angelegt allerdings nicht befüllt.
Egal was ich für "neu" einsetze. Ich erhalte Fehler.

Kann mir jemand helfen ?
 
Wie benutzt du es denn, weil dein Code funktioniert ansich ! 😉

Java:
	public static void main(String[] args) {
		Person pers1 = new Person("bla", 12);
		Person pers2 = new Person("bla3", 12);
		Person pers3 = new Person("bla4", 12);
		Team team = new Team(12);
		team.hinzu(pers1);
		team.hinzu(pers2);
		team.hinzu(pers3);
		System.out.println(team.getAnzahl());	
	}

Ausgabe: 3
 
Vielen Dank für den Tip.

Hast recht der code läuft.
Ich muss erst in der Klasse Person auch Obkekte erzeugen bevor ich diese in das Array schreiben kann.
Hab das irgendwie so verstanden dass über die hinzu Methode auch ein Person Objekt erzeugt wird.

Passiert aber gar nicht 😳
 
Habe noch eine Frage.

Ich versuche eine kleine Suchabfrage für das Array zu basteln.

Java:
public void sucheName (String gesucht) {
        boolean gefunden = false;
        int index = 0; 
        
        while (!gefunden && index < team.length() ) {
            String listElem = team.get(index);
            if (listElem.equals (gesucht)) {
                gefunden = true;
            }
            else index++;
        }
        //if (gefunden) return index;
        if (gefunden) System.out.println ("Name "+gesucht+ " an stelle "+index+ " gefunden");
        //else return -1;
        else System.out.println ("blub");
    }

Ich bekomme immer den Fehler er würde die Methode .length nicht kennen.
???:L
 

Zurück
Oben