Ich möchte eine Node an der letzte Stelle an meiner link list hinzufügen. Davor sollte ich überprüfen, ob diese Ticket schon vorhanden ist. In der Ticket- und Node-Klasse sind nur Getters und Setters. Mein Problem ist, dass ich die Überprüfung nicht sehr toll hinkriege.
Mit dieser Test-Klasse teste ich meine Methode
Java:
public class Node {
private Ticket value;
private Node next;
public Node(Ticket value, Node next)
{
setValue(value);
setNext(next);
}
public Ticket getValue() {
return value;
}
public void setValue(Ticket value) {
this.value = value;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
public class Verwaltung
{
private Node head;
private Node tail;
public boolean addTicket(Ticket t)
{
if (t == null)
{
return false;
}
if (head == null)
{
head = new Node(t, null);
return true;
}
else
{
tail = head;
}
System.out.println(tail.getValue()); //Tail-Wert vorher
while (tail != null)
{
if (tail.getValue() == t)
{
return false;
}
if (tail.getNext() != null)
{
tail = tail.getNext();
}
else
{
tail = new Node(t, head);
break;
}
}
System.out.println(tail.getValue()); //Tail-Wert nachher
return true;
}
}
Java:
public static void main(String[] args) {
// TODO Auto-generated method stub
Support s = new Support();
Ticket t1 = new Ticket("ProblemA", "KundeA", 40, true);
Ticket t2 = new Ticket("ProblemB", "KundeB", 40, true);
Ticket t3 = new Ticket("ProblemC", "KundeC", 40, true);
Ticket t4 = new Ticket("ProblemD", "KundeD", 40, true);
Ticket t5 = new Ticket("ProblemE", "KundeE", 40, false);
System.out.println("---------------Test1---------------");
System.out.println();
System.out.println(s.addTicket(t1)); //true
System.out.println(s.addTicket(t2)); //true
System.out.println(s.addTicket(t3)); //true
System.out.println(s.addTicket(t4)); //true
System.out.println(s.addTicket(t2)); //da sollte false rauskommen
System.out.println(s.addTicket(t5)); //true
System.out.println("---------------Test2---------------");
System.out.println(s.addTicket(t1)); //true
System.out.println(s.addTicket(t2)); //true
System.out.println(s.addTicket(t3)); //true
System.out.println(s.addTicket(t4)); //true
System.out.println(s.addTicket(t1)); //da kommt komischerweise true
System.out.println(s.addTicket(t5)); //true
}