プログラミング

c6260cac :Anonymous 2022-09-23 15:13
以下のようなJAVAソースでクラスAlistの2つのメソッドを書くとコンパイルできません
配列は初期化する必要があるのですがコンストラクタ?に記載してもインスタンス作成すると空になります
教科書にはclassメンバーに変数はなるとありますがArrayList<>だとそもそもメンバーになれないですか
class mainに直で書くとうまくいきますがファイルを分けたい場合にコンパイルを通す方法か代替策をおしえてください


import java.util.ArrayList;

class Alist {
ArrayList<Integer> arraylist = new ArrayList<>();

Alist() {}

public void initArray() {
for (int i=0; i<10; i++ ) { //ArrayListの初期値は10と聞きました
for (int j=0;....
this.arraylist.get(i).get(j).add(0); //失敗
}
}
}

public void setArray(int x, int y, int value) {
this.arraylist.get(x).get(y).set(value); //失敗
}
}

class Main() {
public void main..... {

Alist a = new Alist();
a.initArray(); //ここで失敗する
a.setArray(0, 0, 3); //失敗するがこのあとも値を読んだり書いたりしたい
Powered by shinGETsu.