Methode Einlassen und sprechstundenBeenden Implementieren.

Megann123

Neues Mitglied
Hallo ich habe eine Frage zu meiner Aufgabe nämlich soll ich von der Klasse Buero die Methoden einlassen():void und sprechstundeBeenden():void implementieren.

Ich habe bereits die Klasse Person fertig. Bei den Methoden hintenAnstellen(p:person): void habe ich folgendes gemacht:

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

Jetzt bin ich hier steckengeblieben.

public void einlassen(){


}



public void sprechstundeBeenden(){


}



ich weiß nicht genau wie ich diese implementieren soll.



Danke im Voraus.
 

SonoHimitsu

Mitglied
So sollte es funktionieren:
Java:
import java.util.LinkedList;
import java.util.Queue;

public class Buero {
	private Queue<Person> warteschlange = new LinkedList<Person>();

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

	public void einlassen() {
		Person first = warteschlange.poll();
		System.out.println("Person " + first.getName() + " ist dran");
	}

	public void sprechstundeBeenden() {
		while (!warteschlange.isEmpty()) {
			einlassen();
		}
	}
}

class Person {
	public String getName() {
		// TODO Auto-generated method stub
		return null;
	}
}

Hinweis: Evtl musst du synchronisieren ;)
 

Megann123

Neues Mitglied
So sollte es funktionieren:
Java:
import java.util.LinkedList;
import java.util.Queue;

public class Buero {
    private Queue<Person> warteschlange = new LinkedList<Person>();

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

    public void einlassen() {
        Person first = warteschlange.poll();
        System.out.println("Person " + first.getName() + " ist dran");
    }

    public void sprechstundeBeenden() {
        while (!warteschlange.isEmpty()) {
            einlassen();
        }
    }
}

class Person {
    public String getName() {
        // TODO Auto-generated method stub
        return null;
    }
}

Hinweis: Evtl musst du synchronisieren ;)
Ich danke dir vielmals
 

MoxxiManagarm

Top Contributor
Also zuerst einmal: vielleicht solltet ihr euch zusammentun
(https://www.java-forum.org/thema/hilfe-bei-hausaufgaben.188133/)

Wenn man auf das andere Thema klickt steht da auch ganz klar, dass sprechStundeBeenden die Queue leert (nicht alle Personen einlässt), daher ist der obige Code nicht zu empfehlen ;) Abgesehen von der Tatsache, dass wir ungern sehen, dass jemand Hausaufgaben fertig vorsetzt ohne Erklärung oder Ähnliches
 

SonoHimitsu

Mitglied
Ich gehe aber nicht davon aus, dass diese drei Methoden schon alles waren. Naja, und wie jeder hilft, bleibt jedem überlassen. ;) Ich lasse mir da nichts vorschreiben.

Können uns auch gerne streiten, ich denke, du würdest deinen Account mit >1500 Beiträgen mehr bedauern als ich meinen mit <20 Beiträgen :D
 

MoxxiManagarm

Top Contributor
Es ist einfach eine ethische Frage. Fertiger Code hilft keinen Neuling, der es lernen will. Es hilft vielleicht für die momentane Note, aber nicht dem Werdegang. Insgesamt möchte ich mich aber entschuldigen, vielleicht kam meine Aussage härter rüber als Sie gemeint war, das würde jedenfalls deine Überreaktion erklären.
 

MoxxiManagarm

Top Contributor
Du nimmst das viel zu persönlich. Ich wollte dich nicht in Persona anmachen. Es muss immer mal gesagt werden, dass wir Hausaufgaben nicht auf dem Silbertablett servieren wollen, sonst vergessen es die Leute.
 

MoxxiManagarm

Top Contributor
Nochmal, ich wollte dich nicht angreifen (nochmal sorry wenn es so rüberkam) und den Mund verbieten schon gar nicht. Es ging mir lediglich um die Art der Hilfe, nichts persönliches gegen dich. Es stand ja nicht mal ein Erklärungstext dabei. Ich wünsche mir einfach, dass wir den Themenetstellern helfen es zu verstehen.
 

SonoHimitsu

Mitglied
Ich denke nicht, dass ich zwei Zeilen, die trivial sind, noch großartig dokumentieren muss.
Zumal sich der TE bereits bedankt hat, was oft ein Zeichen dafür ist, dass er/sie die Antwort verstanden hat.
daher ist der obige Code nicht zu empfehlen
dass wir ungern sehen, dass [...]
Das ist keine konstruktive Kritik, sondern billigstes herumpöbeln. Ich weiß ja, dass im Moment kein Fußball ist, aber evtl wärst du bei diesem besser aufgehoben.
 

temi

Top Contributor
dass wir ungern sehen, dass
Das ist keine konstruktive Kritik, sondern billigstes herumpöbeln.
Das ist leider nur die Hälfte des Kommentars. Den konstruktiven Teil davon hast du einfach weggelassen ;)
ohne Erklärung oder Ähnliches

Ich weiß ja, dass im Moment kein Fußball ist, aber evtl wärst du bei diesem besser aufgehoben.
Dafür ist das billigstes Herumpöbeln.
 
K

kneitzel

Gast
Also das kann ich nicht wirklich nachvollziehen. Moxxi hat niemanden ‚schräg angemacht‘ - das ging nun wirklich alles nur von einer Person aus .... Da eine Person Sie offensichtlich falsch verstanden hat, hat sie es richtig gestellt und sich sogar entschuldigt ....

Und wenn hier jemand Angst um seinen Account haben sollte, dann wohl nur Personen, die sich nicht benehmen können, Kritik nicht vertragen und sich einfach benehmen, wie ‚die Axt im Walde‘.

Aber da hat eine Person ja schon einige Erfahrungen gesammelt ...
 

Preach23

Neues Mitglied
Hallo ich habe eine Frage zu meiner Aufgabe nämlich soll ich von der Klasse Buero die Methoden einlassen():void und sprechstundeBeenden():void implementieren.

Ich habe bereits die Klasse Person fertig. Bei den Methoden hintenAnstellen(p:person): void habe ich folgendes gemacht:

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

Jetzt bin ich hier steckengeblieben.

public void einlassen(){


}



public void sprechstundeBeenden(){


}



ich weiß nicht genau wie ich diese implementieren soll.



Danke im Voraus.
kannst du die Klasse Person auch mal hochladen
 

Preach23

Neues Mitglied
Hallo ich habe eine Frage zu meiner Aufgabe nämlich soll ich von der Klasse Buero die Methoden einlassen():void und sprechstundeBeenden():void implementieren.

Ich habe bereits die Klasse Person fertig. Bei den Methoden hintenAnstellen(p:person): void habe ich folgendes gemacht:

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

Jetzt bin ich hier steckengeblieben.

public void einlassen(){


}



public void sprechstundeBeenden(){


}



ich weiß nicht genau wie ich diese implementieren soll.



Danke im Voraus.
kannst du die Klasse Person auch mal hochladen
 
K

kneitzel

Gast
Also der Thread ist schon etwas älter und der TE hat sich seither nicht mehr aktiv beteiligt. Da erwarte ich keine Antwort mehr.

Wo ist das Problem mit der Klasse Person, dass Du da nachfragst? In dem anderen Thread, in dem es auch um diese Aufgabe ging, war die Aufgabe ja auch gegeben und Person enthält nur String name - also eine sehr einfach gehaltene Entity.
 

Neue Themen


Oben