因爲你是一個新手到Java.This是你可以如何修改程序計算斐波那契數我將在外行的話解釋這一點。首先你說過你想用異常來控制程序的行爲,讓用戶知道出了什麼問題。當你拋出一個異常時,這個異常將被傳播給調用者層次結構,直到它被一個顯式的異常處理程序捕獲,或者如果沒有找到處理程序來捕獲異常處理程序,程序將簡單地退出。
在這種情況下,您希望拋出一個錯誤,以便下面的應用程序代碼在被異常處理程序捕獲之前不會被執行。
if (N < 0) {
throw new IllegalArgumentException("Negative numbers are not allowed");
}
這將拋出一個IllegalArgumentException與自定義消息,你可以顯示給用戶,如果你想。
現在正如我所說,這個異常必須在異常處理程序中捕獲。既然你拋出這個異常,緊接着的代碼將不會被執行。換句話說,如果將上面的代碼段放在下面的代碼上面,下面的代碼將不會被執行。
System.out.println(N);
for (int i = 1; i <= N; i++)
System.out.println(i + ": " + fib(i));
現在你需要一個異常處理程序,否則你的程序將提前退出。 這是你如何附上一個try catch處理程序,
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());
}
有了這個地方,當用戶輸入一個負數,程序將顯示在我們創建異常的消息。當輸入是負數時,您可能想要做其他事情,通過引發異常,但您應該能夠理解如何完成。您可能還想使用自定義異常,而不是Java平臺提供的標準異常。在那裏有很多tutorials來學習自定義的異常處理。
如果該值爲負值,您希望發生什麼? – Atuos
遵循斐波納契模式 – LearningToProgram
你是什麼意思「遵循斐波納契模式」?如果用戶輸入負數? – Atuos