Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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
使用linkedlist的Java队列_Java_Spring_Linked List_Queue - Fatal编程技术网

使用linkedlist的Java队列

使用linkedlist的Java队列,java,spring,linked-list,queue,Java,Spring,Linked List,Queue,我正忙于一项任务。目标是使用链表填充队列实现中的空格并写入输出。所有带星星的代码(****代码****)都是我填的空白,其中一些很可能填错了,我不完全理解为什么 如果有人能给我指出正确的方向,修正代码或解释我填错了什么以及为什么,我将不胜感激 谢谢,, 提米 编辑:请在链接中找到随附的作业 控制台输出是什么? 1. _____ 2. _____ 3. _____ 我可以指出的几个错误是: 1) head=**num**->head=**温度** 因为您将头部指向插入的最新值 2) if(*

我正忙于一项任务。目标是使用链表填充队列实现中的空格并写入输出。所有带星星的代码(****代码****)都是我填的空白,其中一些很可能填错了,我不完全理解为什么

如果有人能给我指出正确的方向,修正代码或解释我填错了什么以及为什么,我将不胜感激

谢谢,, 提米

编辑:请在链接中找到随附的作业

控制台输出是什么? 1. _____ 2. _____
3. _____

我可以指出的几个错误是:

1)
head=**num**->
head=**温度**

因为您将头部指向插入的最新值

2)
if(**num**==null)
->
if(**head**==null)

必须检查节点对象是否为null

3)
返回节点。**next**
->
返回节点。**num**

由于返回类型为
double
,因此需要返回对象内部的数字

4)
double ret=aux.next.*num**->
double ret=node.next.**num**

同样,您必须返回被推到队列中的第一个元素

以下代码的输出将为:


172315

它编译吗?它跑吗?有错误消息吗?我不记得见过这样声明的类???我忘了把你的解释读得更深一点。那么,您是否正在尝试构建一个链接列表?为什么在
抛出new**QueueEmptyException**()
之后打开一个代码块?您添加了一些与赋值相矛盾的位。你应该把它们拿出来。
public class DoubleQueue {
public class QueueEmptyException extends RuntimeException{};

private **class** Node{
    double num;
    Node next = null;
    Node (**double** num) {**this**.num = **num**;}
}

private Node head = null;

public void push(double num){
    Node tmp = **new** Node(**num**);
    tmp.**next** = head;
    head = **num**;     
}

public double pop() throws QueueEmptyException {
    if (**num** == null) throw new **QueueEmptyException**(){
    Node node = head;
    if(node.next == null){
        head = null;
        return node.**next**;
    }
    while (node.next.**next** != null)
        **node** = **node**.next;
    }
    double ret = aux.next.**next**;
    aux.next=null;
    return ret;
    }
}


DoubleQueue queue = new DoubleQueue();
queue.push(17);
queue.push(23);
queue.push(15);
System.out.println(queue.pop());
System.out.println(queue.pop());
System.out.println(queue.pop());