修改斐波那契程序,但有异常

时间:2016-03-06 02:28:59

标签: java exception-handling fibonacci

当我向这个名为FibonacciNumber的程序输入a,b,c等非整数值时,我有一个任务要看看会发生什么。我需要使用异常并修改程序,以便它不会突然终止,而是给用户一个有意义的消息。现在被困在这项任务上一天半,但仍然无法做到这一点。

public class FibonacciNumber {
    public static long fib(int n) {
        if (n <= 1) return n;
        else return fib(n-1) + fib(n-2);
    }

    public static void main(String[] args) {
        int N = Integer.parseInt(args[0]);
        try {
        if (N < 0) {
            throw new IllegalArgumentException("Negative numbers are not allowed");
        }
        System.out.println(N);
        for (int i = 1; i <= N; i++)
            System.out.println(i + ": " + fib(i));
        }
        catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您需要做的就是检查解析输入时引发的NumberFormatException。这样做是这样的:

int n;
try {
    n = Integer.parseInt(args[0]);
catch (NumberFormatException e) {
    System.out.println("Your error message ");
     return; // make sure the program cannot continue to execute
}