У меня возникла ошибка исключения в отношении приведения String к одному из моих методов.Я использовал Узел односвязного списка, который не может быть приведен как Integer в качестве ссылки, но я не могу понять проблему.Мой основной метод предоставляется проф, и я должен запустить его и проверить свои методы.Ошибка происходит с String s = test.dequeue();
public static void testQueue() {
System.out.println("Test queues");
Queue<String> test = new Queue<String>();
test.enqueue("a");
test.enqueue("b");
System.out.println(test);
test.enqueue("c");
test.enqueue("d");
test.enqueue("e");
test.enqueue("f");
System.out.println(test);
String s = test.dequeue();
System.out.println("dequeued " + s + ": " + test);
test.enqueue("x");
test.enqueue("y");
test.enqueue("z");
System.out.println(test);
try {
for (int i = 0; i < 10; i++) {
s = test.dequeue();
System.out.println("dequeued " + s + ": " + test);
}
}
catch(QueueException ex) {
System.out.println("EXCEPTION: " + ex);
}
test.enqueue("j");
test.enqueue("k");
test.enqueue("l");
System.out.println("Final value: " + test);
}
// Test Stacks
public static void testStack() {
System.out.println("Test stacks");
Stack<String> test = new Stack<String>();
test.push("a");
test.push("b");
System.out.println(test);
test.push("c");
test.push("d");
test.push("e");
test.push("f");
System.out.println(test);
String s = test.pop();
System.out.println("popped " + s + ": " + test);
test.push("x");
test.push("y");
test.push("z");
System.out.println(test);
try{
for (int i = 0; i < 10; i++) {
s = test.pop();
System.out.println("popped " + s + ": " + test);
}
}
catch(StackException ex) {
System.out.println("EXCEPTION: " + ex);
}
test.push("j");
test.push("k");
test.push("l");
System.out.println("Final value: " + test);
}
public static void main(String[] args) {
testQueue();
testStack();
}
Метод очереди также ниже.Я использую мой метод LinkedList для вызова своих функций.
public class Queue<T> implements QueueInterface<T> {
LinkedList list;
public Queue(){ //constructor
list = new LinkedList();
}
public void enqueue(T data) { //add to the bottom of queue
list.add(data, list.size);
}
public T dequeue() { //remove from top of queue
Object result = (list.get(0));
list.remove(0);
return (T)result;
}
public int size() { //get the size of queue
list.size();
return 0;
}
public T peek() { //get the data on the top of queue
list.get(0);
return null;
}
public String toString() {
return list.toString();
}
}