私はjavaを初めて使用しています。次のコードのセグメンテーションがあり、実際にaddFish()メソッドでNull_Pointer_Exceptionが発生しています。 理由は何でしょうか?Java NuLL_Pointer_Exceptionを取得する方法
public boolean canAddFish(Fish theFish)
{
// System.out.println("Hi I am in CanAddFish Method ");
boolean temp = false;
if((theFish.getTemperature() == getTankTemperature())&&(theFish.getSalinity() == getTankSalinity()))
{
if(numberOfFish < 6)
{
if(numberOfFish == 0)
{
temp = true;
}
else
{
System.out.println("Number Of Fish : " + numberOfFish);
if((theFish.getTemperature() == fish[numberOfFish-1].getTemperature()) && (theFish.getSalinity() == fish[numberOfFish-1].getSalinity())&&(theFish.getSpecies() == fish[numberOfFish-1].getSpecies()))
{
temp = true;
}
else
{
temp = false;
}
}
}
else
{
temp = false;
}
}
else
{
temp = false;
}
return temp;
}
public boolean addFish(Fish theFish)
{
System.out.println("Number of fish in tank : " + numberOfFish);
boolean canAdd = canAddFish(theFish);
System.out.println("Value of numberOfFish canAdd method : "+ canAdd);
if(canAdd)
{
System.out.println(" Adding fish");
fish[numberOfFish++] = theFish;
System.out.println("Fish Added");
return true;
}
else
{
return false;
}
}
テスタープログラム:\t public static void test2() \t { System.out.println( "テスト2"); Fish nemo1 = new Fish( "clownfish"、 'T'、 'S'); System.out.println( "Add Clownfish?" + myTank.addFish(nemo1)); } – Anny
1)問題は、私たちが表示していないコードの可能性が最も高いです。 2)リンク先のQ&Aをお読みください。この種の問題を見つけて修正する方法の詳細な説明があります。 –
Java 'NuLL_Pointer_Exception'のようなものはありません。エラーを引用すると正確です。 – EJP