BlueJでJavaの学習を始めようとしていますが、かなり苦労しています。現時点ではArrayListsを見ています。次のコードは正しくコンパイル:ArrayListのヌルポインタ例外
import java.util.ArrayList;
public class TestArrayList
{
public static int colorCode;
public ArrayList<String> selection;
public TestArrayList()
{
}
private void selection()
{
selection = new ArrayList<String>();
{
selection.add("red");
selection.add("yellow");
selection.add("blue");
}
}
public void selectColor(int colorCode)
{
if (colorCode == 1)
System.out.println("You have selected " + selection.get(0) + ", the color of fire!");
if (colorCode == 2)
System.out.println("You have selected " + selection.get(1) + ", the color of electricity!");
if (colorCode == 3)
System.out.println("You have selected " + selection.get(2) + ", the color of water!");
else
System.out.println("Invalid selection");
}
}
しかし、私はメソッド「選択」を実行しよう、と私はポップアップウィンドウに1、2、または、3を入力し、私はエラーを取得します。 0、4、5、6などの他の値はすべて問題ありません。しかし、1、2、および3のため、ターミナルウィンドウは、次のエラーが表示さ:
java.lang.NullPointerException
at TestArrayList.selectColor(TestArrayList.java:25)
を、エディタは、コード「selection.get(0)」を含む行を強調表示し、エラー「れるjava.langを返します.Null.Pointer例外:null "
私が話している方法から、私はJavaについてほとんど知りませんと言えるでしょう。私が間違っていることは明らかですか?助けることができる誰にも感謝します。
* "しかし、私はメソッド" selection ""を実行しようとすると "*これは当てはまりません、あなたは' selectColor'を呼び出しています。 – Tom