Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我不断地犯错误;节点<;E>;不是泛型的;它不能用参数E“参数化”;及;“前方无法解决”;_Java_Eclipse_Oop_Linked List_Queue - Fatal编程技术网

Java 我不断地犯错误;节点<;E>;不是泛型的;它不能用参数E“参数化”;及;“前方无法解决”;

Java 我不断地犯错误;节点<;E>;不是泛型的;它不能用参数E“参数化”;及;“前方无法解决”;,java,eclipse,oop,linked-list,queue,Java,Eclipse,Oop,Linked List,Queue,我正在用Java制作一个队列的链接实现。问题是,它只在我将其与所需的其他.java文件(Queue、QueueDriver等)一起放入包(我使用的是默认包)时显示错误。它在包装外工作良好。我正在使用Eclipse public class LinkedQueue<E> implements Queue<E>{ /** * Initialize the pointers */ private Node<E> front; private Node&

我正在用Java制作一个队列的链接实现。问题是,它只在我将其与所需的其他.java文件(Queue、QueueDriver等)一起放入包(我使用的是默认包)时显示错误。它在包装外工作良好。我正在使用Eclipse

    public class LinkedQueue<E> implements Queue<E>{

/**
 * Initialize the pointers
 */
private Node<E> front;
private Node<E> rear;

/**
 * Initialize size of list
 */
private int size;

/**
 * Initialize the linked queue
 */
public LinkedQueue() {
    front = null;
    rear = null;
    size = 0;
}

/* (non-Javadoc)
 * @see Queue#isEmpty()
 */
@Override
public boolean isEmpty() {      
    return (front == null);
}

/* (non-Javadoc)
 * @see Queue#dequeue()
 */
@Override
public E dequeue() throws QueueEmptyException {
    if (isEmpty())
        throw new QueueEmptyException("Queue is empty!");
    else{
        E temp = (E) front.getElement();
        front = front.getNext();
        size--;
        return temp;
    }
}

/* (non-Javadoc)
 * @see Queue#enqueue()
 */
@Override
public void enqueue(E element) {
    Node<E> x = new Node<E>(element);
    if(front == null){
        front = rear = x;
    }
    else{
        rear.setNext(x);
        rear = x;
    }
    size++;
}

/* (non-Javadoc)
 * @see Queue#size()
 */
@Override
public int size() {     
    return size;
}

/* (non-Javadoc)
 * @see Queue#front()
 */
@Override
public E front() throws QueueEmptyException {
    if (isEmpty())
        throw new QueueEmptyException("Queue is empty!");

    return (E) front.getElement();
}
公共类LinkedQueue实现队列{
/**
*初始化指针
*/
专用节点前端;
专用节点后方;
/**
*初始化列表的大小
*/
私有整数大小;
/**
*初始化链接队列
*/
公共链接队列(){
front=null;
后=空;
尺寸=0;
}
/*(非Javadoc)
*@see Queue#isEmpty()
*/
@凌驾
公共布尔值isEmpty(){
返回(前端==null);
}
/*(非Javadoc)
*@见队列#出列()
*/
@凌驾
public E dequeue()抛出QueueEmptyException{
if(isEmpty())
抛出新的QueueEmptyException(“队列为空!”);
否则{
E temp=(E)front.getElement();
front=front.getNext();
大小--;
返回温度;
}
}
/*(非Javadoc)
*@see Queue#enqueue()
*/
@凌驾
公共无效排队(E元素){
节点x=新节点(元素);
if(front==null){
前=后=x;
}
否则{
后。设置下一步(x);
后部=x;
}
大小++;
}
/*(非Javadoc)
*@见队列#大小()
*/
@凌驾
公共整数大小(){
返回大小;
}
/*(非Javadoc)
*@见队列#前面()
*/
@凌驾
public E front()引发QueueEmptyException{
if(isEmpty())
抛出新的QueueEmptyException(“队列为空!”);
返回(E)front.getElement();
}

}

消息告诉您,
节点
不是通用的。它需要像

public class Node<E> {
    // your code here, using E as the data in the node
}
公共类节点{
//这里是您的代码,使用E作为节点中的数据
}

检查您的导入。验证您没有导入其他JDK类或接口,如org.w3c.dom.Node。@RaviThapliyal我现在只有三个导入。java、QueueEmptyException.java和QueueFullException.java将类移动到某个包中,然后添加
import.package.Node你自己,或者使用Ctrl+Shift+O来组织导入(在Eclipse中)并选择你的类。我已经尝试过了,但没有成功。奇怪的是,我还声明了rear为Node,但它没有显示任何错误。也许你也应该发布
Node
的代码。