第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

計算 0 的階乘導致 NoSuchElementException

計算 0 的階乘導致 NoSuchElementException

九州編程 2021-08-25 15:33:44
我必須計算一個數(shù)字的階乘。因為 0 的事實階乘是 1。所以我也將這種情況包含在函數(shù)中。這是代碼:import java.util.*;public class Factorial {    static int fact(int n) {        int result;        if (n == 0 || n == 1)            return 1;        result = fact(n - 1) * n;        return result;    }    public static void main(String args[]) {        int i, fact = 1;        Scanner sc = new Scanner(System.in);        int n = sc.nextInt();        fact = fact(n);        System.out.println(fact);    }}但是如果我將輸入設為 0,則會引發(fā)一些異常線程“main”中的異常 java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt( Scanner.java:2117) 在 java.util.Scanner.nextInt(Scanner.java:2076) 在 Factorial.main(Factorial.java:14)如何解決這種情況?編輯:我已經(jīng)更改了異常。對于代碼甚至不是 26 行的事情深表歉意。我在上面發(fā)布了一些代碼作為注釋,然后才在這里發(fā)布代碼。這不是重復的。事實上,我想知道為什么它不接受 0 作為輸入。它適用于所有其他輸入。我使用在線編譯器https://www.tutorialspoint.com/compile_java_online.php與 PC JDK 1.7 的 Java 編譯器一起工作正常,但在在線 IDE 上引發(fā)異常。
查看完整描述

2 回答

?
三國紛爭

TA貢獻1804條經(jīng)驗 獲得超7個贊

在線 IDE 可能正在對數(shù)據(jù)進行某種預處理,這些數(shù)據(jù)對零不太好。

TutorialPoint 擁有適用于多種語言的在線編譯器,并且很可能它們都共享一些共同的后端,該后端具有將文本從瀏覽器傳遞到其服務器的魔力。我不確定后面發(fā)生了什么樣的處理,但我可以想象這就像從數(shù)字左側(cè)修剪不必要的零或類似的東西。

我在標準 C 中使用函數(shù) sscanf 遇到了相反的問題,當輸入字符串為空時,它預期會失敗(返回 0),就像它的姊妹函數(shù) scanf 一樣,但它仍然返回成功并將零存儲在整數(shù)變量中。

順便說一句,如果你只是在零上添加一個前導空格或 \n,一切都很好。


查看完整回答
反對 回復 2021-08-25
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號