0 Daumen
1,4k Aufrufe

Hallo zusammen,

wir arbeiten in der Schule mit dem Buch Informatik 2 (Schöningh-Verlag) und haben Schlangen besprochen. Die Umgebung ist BlueJ.

Wir haben einen Programmtext bekommen (zur Aufgabe S. 63f.), bei dem man über eine Klasse Person erst Personen erstellen muss und diese werden dann in einem Objekt der Klasse Buero über einzelne Methodenaufrufe eingereiht. Das funktioniert auch, ich finde das aber umständlich. Ich würde gerne Beispielpersonen schon im Konstruktor aufrufen und nicht jesesmal von Hand eingeben. Mit diesen Objekten würde ich gerne ausprobieren, ob das Programm mit den Elementen der Schlange das macht, was es soll.


Der Programmtext der Klasse Person ist:

public class Person
{
    private String name;
    private Person nachfolger;

    public Person(String pName)
    {
        name = pName;   
    }

    public String getName()
    {
        return name;
    }
}


Der Quelltext zur Klasse Buero ist:

public class Buero
{
    Queue<Person> warteschlange;

    public Buero()
    {
        warteschlange = new Queue<Person>();
    }


    public void hintenAnstellen(Person pPerson)
    {
        warteschlange.enqueue(pPerson);
        System.out.println("Patient " + pPerson.getName() + " stellt sich an");
    }

}



Weitere Methoden habe ich ausgelassen, die Klasse Stack ebenfalls.

Meine Frage ist: Wie kann ich mir die Eingabe von Hand durch Beispiel"personen" im Konstruktor ersparen?

Avatar von

1 Antwort

+1 Daumen

Du erstellst einfach ein array mit Personen, so in etwa:

Person[] samplePersons = {
new Person("Hans"),
new Person("Günter"),
new Person("Karla"),
....
};
und machst eine for Schleife. Dann rufst du für jede Person im Array die Methode enqueue auf. Also so:

for(Person p : samplePersons)
warteSchlange.enqueueue(p);


Beste Grüße

Felix

Avatar von

Vielen Dank, das versuche ich :-)

Christina

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community