有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java新手:获得意外输出

我已经创建了两个java文件
1.helloWorld。java 2.在文件夹p/node中。java

地狱世界。java文件夹包含主功能

import p.node;  
import java.util.ArrayList;  
import java.util.List;  
public class helloWorld {
    public static void main(String[] args) {
        List<node> list = new ArrayList<node>(); //created list of object node
        list.add(new node('a'));
        list.add(new node('b'));
        list.add(new node('c'));
        list.add(new node('g'));
        list.add(new node('k'));
        list.add(new node('o'));

        System.out.println(list.get(2).val);
    }
}

二,节点。java

package p;
public class node {
    public static char val;

    public boolean busy = true;


    public  node(char val)
   {
       this.val=val;
   }
}

预期产出c
实际输出o
请帮帮我,我是java新手。。。提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    您已将val声明为static,并且static成员为created only once

    node类中删除static声明

    package p;
    public class node {
        public char val;
        public boolean busy = true;
    
        public  node(char val) {
           this.val=val;
       }
    }
    
  2. # 2 楼答案

    删除类节点第3行中的单词static,然后它就可以工作了

    致意 安德烈