コードは次のとおりです(java):
class prime
{
public static boolean prime (int a, int b)
{
if (a == 0)
{
return false;
}
else if ((a%(b-1) == 0) && (b>2))
{
return false;
}
else if (b>1)
{
return (prime (a, b-1)) ;
}
else
{
return true;
}
}
public static void main (String[] arg)
{
System.out.println (prime (7, 7)) ;
}
}
これは、実行しようとしたときに表示されるエラーメッセージです(正常にコンパイルされます)。
Exception in thread "main" java.lang.ArithmeticException: / by zero
at prime.prime(prime.java:10)
at prime.prime(prime.java:16)
at prime.prime(prime.java:16)
at prime.prime(prime.java:16)
at prime.prime(prime.java:16)
at prime.prime(prime.java:16)
at prime.prime(prime.java:16)
at prime.main(prime.java:27)
つまり、これは私がゼロで除算したことを意味しますか?またはそれは何か他のものを意味しますか?ゼロ除算がわかりません。何が悪かったのか?