亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

輸入完成后如何終止掃描儀?

輸入完成后如何終止掃描儀?

神不在的星期二 2019-10-21 14:47:29
public static void main(String[] args) {        Scanner scan = new Scanner(System.in);        try {            while (scan.hasNextLine()){                String line = scan.nextLine().toLowerCase();                System.out.println(line);               }        } finally {            scan.close();        }    }只是想知道在完成輸入后如何終止程序?由于假設我將繼續輸入內容,因此掃描器在多次“輸入”后仍將繼續運行...我嘗試了:if (scan.nextLine() == null) System.exit(0);和if (scan.nextLine() == "") System.exit(0);  他們沒有用...。程序繼續運行,并與最初的意圖相混淆,
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

問題是,除非用戶……以某種方式告訴用戶,否則程序(如您的程序)不知道用戶已完成輸入。


用戶可以通過兩種方式執行此操作:


輸入“文件結束”標記。在UNIX和Mac OS是(典型值)CTRL+ D,和Windows CTRL+ Z。那將導致hasNextLine()返回false。


輸入一些特殊的輸入,程序將其識別為“我完成了”。例如,它可以是空行,也可以是一些特殊值,例如“ exit”。該程序需要對此進行專門測試。


(您也可以想象使用計時器,并假設用戶已經輸入N秒或N分鐘未輸入任何內容,則此操作已經完成。但這不是用戶友好的方法。)


當前版本失敗的原因是您正在==測試一個空字符串。您應該使用equals或isEmpty方法。(請參閱如何比較Java中的字符串?)


其他要考慮的因素是區分大小寫(例如,“退出”與“退出”)以及前導或尾隨空格的影響(例如,“退出”與“退出”)。


查看完整回答
反對 回復 2019-10-21
  • 3 回答
  • 0 關注
  • 659 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號