こんにちは、数日前に Jbutton とそれが呼び出すメソッドについて質問しました。メソッドをフィールドに入れることについての回答を得たので、これを試しましたが、null ポインターに遭遇しました。
private Monsters temp = core.anyMonster();
メソッドの起源は、以下に示す「モンスター」の arrayList を持つ別のクラスから来ています。
public Monsters anyMonster() {
int index = randomGenerator.nextInt(monsters.size());
Monsters monsters1 = monsters.get(index);
DisplayPanel.changeText("A monster appears! It's a " + monsters1 + "!\n What shall you do?\n");
return monsters1;
}
arrayList を検索してランダムなモンスターを選択します。この方法はうまく機能しますが、問題は 1 つではなく新しいモンスターを繰り返し選択することでした。そのため、フィールドにするように言われ、これで問題は解決します。
次に、実際に使用したいときは、次のように呼び出します。
temp.cleave();
Temp はランダムに選択されたモンスターで、文字列名と健康を示す int を持ちます。クリーブは、プレイヤーの攻撃のように、これらから差し引きます。プログラムが即座にクラッシュし、その行で私に指示するので、問題はメソッドをフィールドにしようとしている方法だと思います。私はまだJavaの初心者なので、何らかの例や助けをいただければ幸いです。ありがとう!