java - 获取对象数组数据

标签 java

所以我首先声明一个类的这个对象:

static enterprise[] en = new enterprise[10];

然后,在 main 中:

for(int i=0;i<=9;i++){
    System.out.println("Insert name of the " + (i+1) + "ª enterprise");
    en[i] = new enterprise(i);
    Scanner scanner = new Scanner(System.in);
    en[i].setName(scanner.next());
    System.out.println(en[i].Name);
    }

然后,在同一个类的另一个方法中:

for(int i = 0; i<=9;i++){
    System.out.println(en[i].index + "- " + en[i].Name);
}

因此,如果首先我插入第一个企业 A、第二个 B、C、D、E、F、G、H、I、J ..,我应该得到输出 1 A 2 B 等,但我得到9 J 十次。为什么会发生这种情况?

编辑:这是企业类:http://pastebin.com/gUCWRRgK

最佳答案

这是因为您的字段被声明为静态。

public class enterprise {
    static String Name;
    static int index;

当字段是静态的时,意味着该变量与该类相关联。静态变量对于每个实例不能有不同的值。

应该是这样的:

public class enterprise {
    String Name;
    int index;

关于java - 获取对象数组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11787202/

相关文章:

java - 使用 BoxLayout 时 JPanel 不会调整大小

java - 生成大型列表的笛卡尔积时出现 OutOfMemoryError

java - 在Android设备上播放4 channel 16位PCM音频数据

Java 溢出在计算器上计算与 IDE 结果有不同的结果?

java - JMX操作可以将接口(interface)作为参数吗?

java - 如何以编程方式获得链接速度?

java - Android找不到符号变量错误

java堆大小增加并且内存不足

java - 不幸的是应用程序已停止,我该如何解决?

java - 断开与 weblogic JMS 的连接