# Personeneinlesen



## Windows10 (9. Apr 2016)

Wie kann ich folgende Methoden umändern, dass es nicht immer den gleichen Namen bei dem Schleifendurchlauf ausgibt?

```
public void main(String vname, String nname, int val)
    {
        Out.println("Wie viele Perosnen willst du einlesen?");
        int menge=In.readInt();
        for(int i=0;i<menge;i++)
        {
            Person n=new Person(vname,nname,val);
            n.print();
            getAverageIncome(val);
        }
    }
```


----------



## VfL_Freak (11. Apr 2016)

Moin,

wenn ich das richtig sehe, erzeugst Du in der Schleife immer wieder ein neues Objekt mit den gleichen zuvor übergebenen Werten.
Also wird auch jedesmal das gleiche ausgegeben !!

Gruß Klaus


----------



## Jardcore (11. Apr 2016)

Am besten du speicherst dir die Personen in ein Array, das kannst du dann später nochmal durchlaufen und deine ganzen Personen ausgeben.


```
public void main(String[] args) {
        Out.println("Wie viele Perosnen willst du einlesen?");
        int menge = In.readInt();
        Person[] personen = new Person[menge];

        for(int i = 0; i < menge; i++) {

           String vname = In.readString();
           String nname = In.readString();
           int val = In.readInt();

           Person person = new Person(vname, nname, val);
           person.print();
           getAverageIncome(val);
           personen[i] = person;
        }
    }
```

Ich weiß nicht genau was deine In Klasse so kann, und ob sie eine Methode readString() hat, aber du müsstest dort einen Aufruf auslösen der die Eingabe eines Strings erlaubt.


----------

