わかりましたので、私が立ち往生しているJava coursetsの部分の割り当てを行っています:
「80 人のメンバーを持つ特定の議会を作成する操作 createparliamentMembers を実装します。」
そのため、メソッドを使用してコンストラクターを既に作成しています。これは、コンストラクターを使用してオブジェクトを作成する操作を記述した方法です。
public static void createparliamentMembers(){
Member[] array = new Member[75];
for(int i = 0; i < array.length; i++)
{
if (i < 35) array[i] = new Member(i, "Blue");
else array[i] = new Member(i,"Red");
}
Legislator[] leg = new Legislator[3];
for (int i = 0 ; i < leg.length; i++){
leg[i] = new Legislator(i, "Impartial");
}
Leader[] lead = new Leader[2];
for (int t = 0; t < lead.length; t++){
if (t < 1) lead[t] = new Leader(1, "Red");
else lead[t] = new Leader(2, "Blue");
}
問題は、配列とオブジェクトがそれらを作成する操作にのみ存在するように見え、作成されたオブジェクトのメソッドを実行しようとすると、ドライバー クラスが配列を認識しないため、それらが機能しないことです。一方、これをドライバーの通常の部分として使用すると、正常に動作し、オブジェクトのすべてのメソッドが正常に動作します。
編集:わかりましたので、createparliamentMembers(); の外でそれらを初期化したにもかかわらず、以前と同じ問題が発生しています。
次のコードは、メソッドをテストするために使用しているドライバーです。
スレッド「メイン」での例外 java.lang.NullPointerException at Driver.main(Driver.java:11) コード array[1].FlipCoin(); 作成されたオブジェクトからメソッド Flipcoin を使用しようとしていますが、機能していません。
public static void main(String [] args) {
Commands.createparliamentMembers();
array[1].FlipCoin();
}