Guten Abend,
momentan bin ich dabei, eine Queue zu programmieren, welche aus einzelnen Knoten besteht, die wiederum jeweils mit Inhalt gefüllt sind - soweit so gut, doch erhalte ich noch die eine oder andere Fehlermeldung, auch bin ich mir nicht sicher, ob die Funktion, welche die Elemente der Schlange zählen soll, funktioniert.
Klassen:
Person - beinhaltet lediglich einige für die eigentliche Fragestellung irrelevante Variablen
Node - Element der Schlange
Queue - Hauptklasse, welche eigentliche Operationen ausführt.
Hier der Quelltext:
Node (hier treten meines Erachtens nach noch keine Probleme auf)
Queue:
Über jegliche Hilfe würde ich mich sehr freuen
momentan bin ich dabei, eine Queue zu programmieren, welche aus einzelnen Knoten besteht, die wiederum jeweils mit Inhalt gefüllt sind - soweit so gut, doch erhalte ich noch die eine oder andere Fehlermeldung, auch bin ich mir nicht sicher, ob die Funktion, welche die Elemente der Schlange zählen soll, funktioniert.
Klassen:
Person - beinhaltet lediglich einige für die eigentliche Fragestellung irrelevante Variablen
Node - Element der Schlange
Queue - Hauptklasse, welche eigentliche Operationen ausführt.
Hier der Quelltext:
Node (hier treten meines Erachtens nach noch keine Probleme auf)
Java:
public class Node
{
private Person inhalt;
private Node next;
public Node(person p)
{
inhalt = p;
}
public void setNext(Node n) {
next = n;
}
public Node giveNext() {
return next;
}
public Person returnInhalt(Node n) {
return inhalt;
}
}
Queue:
Java:
public class Queue
{
public Node start;
public Node end;
public int counter = 0;
private int anfangsCounter = 0;
public Schlange()
{
}
public void enqueue(Node n) {
if(start==null&&end==null) {
start = new Node;
end = new Node;
}
else {
start = new Node;
}
}
//Anmerkung zu enqueue: Hier soll ein neuer Knoten an den Anfang gesetzt werden, jedoch //wird die Fehlermeldung ") or ] expected" ausgegeben.
public void dequeue(Node n) {
if(start==null&&end==null) {
}
else {
if(start!=end) {
start=n.gibNachfolger();
}
if(start==end) {
start == null;
end == null;
}
}
}
//Anmerkung zu dequeue: das erste Element der Schlange soll entfernt werden, hier wird keine Fehlermeldung ausgegeben.
public boolean einElement() {
if(start==end&&start!=null) {
return true;
}
else {
return false;
}
}
public boolean leer() {
if(start==null&&end==null) {
return true;
}
else {
return false;
}
}
//Anmerkung zu leer und einElement: es wird überprüft, ob ein oder kein Element in der Schlange //vorhanden ist.
public void count(Node n) {
if(anfangsCounter = 0) {
start = end;
start=n.giveNext();
counter ++;
anfangsCounter ++;
}
if(anfangsCounter!=0) {
if(start!=k) {
start = end;
start=n.giveNext();
counter ++;
Queue.count();
}
else {
return counter;
}
}
}
}
//Anmerkung zu count: Die Anzahl der Elemente der Schlange soll geprüft werden.
//Meine Idee besteht darin, dass der Anfang der Queue kontinuierlich ans Ende gesetzt wird und //daraufhin der Nachfolger des Anfangs der neue Anfang wird, pro Aktion wird ein Counter erhöht, //welcher die Anzahl der Elemente angibt.
//Da die Funktion darauf beruht, dass der jeweilige Anfang nicht n ist, habe ich den anfangsCounter //eingeführt, der dafür sorgt, dass der Vorgang beim ersten mal auch dann ausgeführt wird, wenn //Anfang und Ende übereinstimmen.
//Schlange.count() soll die Funktion solange aufrufen, bis der Anfang wieder mit n übereinstimmt, //jedoch wird hier die Fehlermeldung "Method in class Queue cannot be applied to given types; //requiered: node; found: no arguments; reasons: actual and formal arguments lists differ in length" //ausgegeben."
Über jegliche Hilfe würde ich mich sehr freuen
Zuletzt bearbeitet: