当我向这个名为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());
}
}
}
答案 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
}