无法从main()调用Arraylist到main()

时间:2017-06-26 09:10:09

标签: java arraylist methods

我在public static void main(String[] args)

中创建了一个ArrayList

使用以下代码:

ArrayList<kistenEigenschaften> kisten = new ArrayList<kistenEigenschaften>(75);

kistenEigenschaften在其自己的类中正确定义。

但是现在我想在下面的方法中调用ArrayList:

public static void kistenListe() {

        System.out.println("Sie haben " + kisten.size() + " kisten am lager.");
        for (int i = 0; i < kisten.size(); i++) {
            System.out.println("Kiste NR: " + kisten.get(i).getidNr() + ". Größe ist " + kisten.get(i).getBreite() + " cm breit " + kisten.get(i).getLänge() + " cm lang " + kisten.get(i).getHöhe() + " cm Höhe.");
        }
    }

在main()之外

但是似乎无法在main()

之外调用那个arraylist

尝试了搜索功能,找不到任何解决方案,对不起,如果已经提到过。

1 个答案:

答案 0 :(得分:1)

您有两种可能的解决方案:

首先:将列表添加为patameter:

public static void main(String[] args) {
   ArrayList<kistenEigenschaften> kisten = new ArrayList<kistenEigenschaften>(75);
   ....
   kistenListe(kisten);
}

public static void kistenListe(List<kistenEigenschaften> kisten) {

        System.out.println("Sie haben " + kisten.size() + " kisten am lager.");
        for (int i = 0; i < kisten.size(); i++) {
            System.out.println("Kiste NR: " + kisten.get(i).getidNr() + ". Größe ist " + kisten.get(i).getBreite() + " cm breit " + kisten.get(i).getLänge() + " cm lang " + kisten.get(i).getHöhe() + " cm Höhe.");
        }
    }

第二:声明kisten为类属性:

 ArrayList<KistenEigenschaften> kisten 

public static void main(String[] args) {
   kisten = new ArrayList<KistenEigenschaften>(75);
   ....
   kistenListe();
}

public static void kistenListe() {

        System.out.println("Sie haben " + kisten.size() + " kisten am lager.");
        for (int i = 0; i < kisten.size(); i++) {
            System.out.println("Kiste NR: " + kisten.get(i).getidNr() + ". Größe ist " + kisten.get(i).getBreite() + " cm breit " + kisten.get(i).getLänge() + " cm lang " + kisten.get(i).getHöhe() + " cm Höhe.");
        }
    }

注意Java命名约定。类名应以大写字符开头。

请勿在属性和方法名称中使用德语变音符号。

getidNr()应为getIdNr()