に実行してI以下の単純な再帰フィボナッチコードを持っている:私は最近の例外について学んだように、私はここに使用しようとしている私のスローされた例外はStackOverflowErrorが
public class FibPrac5202016
{
public static void main(String [] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter index number: ");
int integer = input.nextInt();
FibPrac5202016 object = new FibPrac5202016();
System.out.println(object.operation(integer));
}
public static long operation(long n) {
if(n==0)
return 0;
if(n==1)
return 1;
try {
if(n < 0)
throw new Exception("Positive Number Required");
}
catch(Exception exc)
{
System.out.println("Error: " + exc.getMessage());
}
return operation((n-1))+operation((n-2));
}
}
時にユーザが入力負integer.However、私のプログラムはStackOverflowErrorを実行します。
を以下のか、私も行うことができます0
としてよりも数が少ない見つけたときに解決策は、停止プログラムを作ることです 'でSystem.exit(0);'、右? –