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

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

在 Java 中評估真實性

在 Java 中評估真實性

慕萊塢森 2023-06-14 16:40:04
我正在用 Java 編寫交互式控制臺應用程序。我需要用布爾響應向用戶提問,但是,Scanner.in.nextBoolean()它相當脆弱,因為它會在不正確的輸入時拋出異常,因此將它包裝在一個方法中似乎是個好主意。我可以只使用 try/catch 塊并堅持讓用戶鍵入“true”或“false”來回答并捕獲拼寫錯誤。但后來我想我可以使用Scanner.in.next()orScanner.in.nextLine()并使用類似的東西評估返回的字符串的真實性parseBoolean(String s)。有沒有辦法評估一個字符串的“真實性”超越真/假?也就是說,“0”/“1”“是”/“否”也會評估為真/假。
查看完整描述

2 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

自定義實現(xiàn)怎么樣?

  1. 使用地圖并定義 true 和 false 的所有值

  2. 使用列表;如果值在列表中,則為 true,否則為 false

public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);


    // Define true and false values

    Map<String, Boolean> truthiness = new HashMap<>();


    truthiness.put("yes", true);

    truthiness.put("1", true);

    truthiness.put("true", true);

    truthiness.put("t", true);

    truthiness.put("ya", true);

    truthiness.put("nein", false);

    //etc


    // Define only the true values

    List<String> trueValues = Arrays.asList("yes", "1", "true", "t", "ya");


    for(int i = 0; i < 5; ++i) {

        String value = sc.nextLine().toLowerCase();


        System.out.println("map: " + truthiness.get(value));

        System.out.println("list: " + trueValues.contains(value));

    }

}

輸出


yes

map: true

list: true

1

map: true

list: true

t

map: true

list: true

ya

map: true

list: true

nein

map: false

list: false


查看完整回答
反對 回復 2023-06-14
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

Apache?BooleanUtils有一個toBoolean像這樣工作的方法,但是它并沒有0/1像我在文檔中看到的那樣解析

'true'、'on'、'y'、't' 或 'yes'(不區(qū)分大小寫)將返回 true。否則,返回 false。


查看完整回答
反對 回復 2023-06-14
  • 2 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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