public class Kassenschlange
{
private Knoten erster;
// Jedes Objekt der Klasse Kassenschlange, hat eine Variable vom Typ Knoten, die auf den ersten Knoten in der Liste zeigt
public Kassenschlange()
{
// Im Konstruktor steht nix, man könnte vllt erster auf null setzen
// also erster = null;
}
public void Alle_Ausgeben()
{
if(erster == null) // wenn der erste = null ist, also wenn es keinen ersten gibt
{
System.out.println("Die Kasseenschlange ist leer!!"); // dann gib eine fehlermeldung aus
}
else{ // und wenn nicht dann ...
Knoten tmpk = erster; //erstell einen neuen Knoten der die Werte vom ersten Knoten hat
while(tmpk != null) // solange unser Knoten tmpk existiert (also ungleich null)
{
System.out.println("Name: "+tmpk.get_Inhalt().get_Name()+" -- Artikelnummer: "+tmpk.get_Inhalt().get_Artikelnummer()); //gib seine Werte aus ..
tmpk = tmpk.get_nächster(); // und überschreib den Wert von unserem Knoten tmpk durch seinen nächsten
}
}
}
public void hinzufügen(String In_Name, int in_Artikelnummer) //als parameter der name und die artikelnummer
{
if(erster == null ) // wenn der erste null ist, also wenn die kasse leer ist
{
erster = new Knoten(In_Name,in_Artikelnummer); // erstelle einen neuen Knoten mit den parametern von oben und speicher diesen in die variable erster
}
else{ // wenn die Schlange nicht leer ist, dann
Knoten tmpk = erster; //erstelle einen neuen Knoten tmpk mit den werten vom ersten
while(tmpk.get_nächster() != null) // solange der momentane knoten tmpk einen nächsten hat
{
tmpk = tmpk.get_nächster(); // überschreibe den knoten tmpk mit seinem nächsten Knoten
}
tmpk.set_nächster(new Knoten(In_Name,in_Artikelnummer)); //wenn wir bei unserem letzten Knoten angekommen sind, setzte seinen wert nächster auf einen neuen Knoten
}
}
public Kunde zuKasse() // wir geben ein Kunde Objekt zurück
{
if (erster == null) // wenn die kassensclange leer ist, dann
{
System.out.println("Die Kasseenschlange ist leer!!"); // gib eine fehlermeldung aus
return null; // und gib null zurück
}
else{ // sonst (also wenn es eine kassenschlange gibt)
Kunde davor_erster = erster.get_Inhalt(); //speicher das Kunden objekt vom ersten Knoten ab
erster = erster.get_nächster(); // und setz die variable erster, auf den folgenden knoten
return davor_erster; //gib den ehemaligen ersten kunden zurück
}
}
}