Personeneinlesen

Windows10

Bekanntes Mitglied
Wie kann ich folgende Methoden umändern, dass es nicht immer den gleichen Namen bei dem Schleifendurchlauf ausgibt?
Java:
 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

Top Contributor
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

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

Java:
 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.
 

Neue Themen


Oben