Java HW,向 LinkedList 添加 3 个 Int,通过搜索方法仅找到 1 个

标签 java linked-list iteration

我创建了一个包含 3 个整数的 LinkedList。我可以通过 toString 打印出这些 int,但是当我尝试遍历列表并打印出每个 int (getData()) 时,它只打印出第一个 int,然后停止,因为下一次迭代指向 null。我从头部开始。为什么我的 head 在 while 循环中指向 null?

主要:

public static void main(String[] args) {

    IntNode x = new IntNode(0, null);
    int z= 0;
    for (int i= 0; i <3; i++){
    System.out.println ("Enter an integer");
    Scanner keyboard = new Scanner( System.in );    
    z=keyboard.nextInt();
    x.AddNodeAfter(z); 
}
    System.out.println (x);

这是我的添加方法:

public void AddNodeAfter(int data){
    if(head==null){
    this.link= new IntNode(data, link);
    head=this.link;
    counter++;
    }
    else 
    {
    this.link= new IntNode(data, link);
    }
    counter++;
}

我还尝试在列表开头使用“添加”:

public void AddAtHead(int data) {

     IntNode node = new IntNode(data, link);
     node.setData(data);
     node.setLink(head);
     head=node;
     counter++;

}

我遇到问题的地方:

 public void deleteLast(){
  if (head==null){
      System.out.println("empty list");
    }
   IntNode current=head;
    while(current!=null){
        System.out.println("while loop data"+current.getData());
        current=current.getLink();

    }

我正在构建一个在列表末尾删除的方法,但无法克服这个问题。 while循环只运行一次并打印出first int。 Head 是正确的,但是 it 指向 null,但是列表中还有更多的整数。控制台:

输入一个整数

1

输入一个整数

2

输入一个整数

3

IntNode [数据 = 0,链接 = IntNode [数据 = 3,链接 = IntNode [数据 = 2,链接 = IntNode [数据 = 1,],],],头 = IntNode [数据 = 1,],]

while循环数据

1

最佳答案

扫描仪键盘 = new Scanner( System.in );

应该在 for 循环之外。

this.link 指的是调用您需要稍微修改代码的方法的对象

 if(head==null){
            head=n;    // variable t should be Instance variable
            t=head;
            }
            else{
            t.next=n;
            t=t.next;
            }

之前的节点下一部分应该指向你当前的新节点......

关于Java HW,向 LinkedList 添加 3 个 Int,通过搜索方法仅找到 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21641466/

相关文章:

java - 如何在单元测试中构造 javax.jms.TextMessage ?

java - 在方法中使用实例变量 Linkedlist() - 为什么我必须在方法体中创建 new

sorting - 自然mergesort链表

java - 如何遍历 Hashmap 并将其放入数组/列表结构中?

java - 插入 Java 编译器

java - 如何将 JSONObject 写入 firebase 数据库节点

java - 无法在后端看到存储的数据(Parse.com)

c - 链表定义

python - 从列表中删除旧元素

javascript - 如何在更改文档时使用 javascript 迭代 xml?