當我在程序中輸入這樣的:怎樣才能布爾用戶輸入
boolean a = (true & false) & true;
它的工作。
但是,當我從鍵盤通過掃描儀輸入:
Scanner sc = new Scanner(System.in);
boolean b = sc.nextBoolean();
它不能返回正確的答案。
有什麼辦法,我可以從鍵盤輸入布爾值? 對不起,如果我的英文不清楚。
當我在程序中輸入這樣的:怎樣才能布爾用戶輸入
boolean a = (true & false) & true;
它的工作。
但是,當我從鍵盤通過掃描儀輸入:
Scanner sc = new Scanner(System.in);
boolean b = sc.nextBoolean();
它不能返回正確的答案。
有什麼辦法,我可以從鍵盤輸入布爾值? 對不起,如果我的英文不清楚。
根據nextBoolean()
的文檔,將掃描輸入的下一個標記爲布爾值並返回該值。
的意見,以便爲正確指出的@Kevin,如果試圖提供比不區分大小寫的true
或false
,你最終會得到一個InputMismatchException.
噢,我明白了。無論如何,我們可以使用用戶輸入布爾值?謝謝 – Jon
@Jon您可以使用掃描器sc將布爾值的輸入提供給'b'。但是,如果表達式已經按照上面的一行進行了評估,那麼您無需爲用戶輸入而對其進行掃描。 – nullpointer
@Jon如果此答案解決了您的問題,請將其標記爲接受的答案(單擊答案旁邊的標記)。這將使這篇文章有助於未來的訪問者。 – progyammer
什麼樣的價值,你打字以外的輸入? –
'Scanner'將接受_single_布爾值爲true或false,或者其中任何不區分大小寫的變體,例如TRUE,FALSE,True,False,trUe, 'fALse'等)。它_won't'接受像「(true&false)&true'這樣的整個布爾表達式...... –
@ElliottFrisch那麼,你的意思是」價值「?我只是使用System.out.println()打印出來。 – Jon