Java的新手:获得意外的输出

时间:2018-07-07 19:53:10

标签: java

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

helloWorld.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);
    }
}

2. node.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 个答案:

答案 0 :(得分:3)

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

static类中删除node声明

package p;
public class node {
    public char val;
    public boolean busy = true;

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

答案 1 :(得分:0)

在类 node 的第3行中删除单词 static ,然后它应该可以工作。

最好的问候 安德烈