首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 簡單交互程式:Scanner 迴圈讀入字串匹配 boy/girl/over 輸出對應提示

     編輯:程式設計疑難解答

需求:輸入 `boy` 輸出 `帥哥`,`girl` 輸出 `美女`,其他非 `over` 輸出 `你想什麼呢`,輸入 `over` 結束。

完整代碼


import java.util.Scanner;

public class SimpleChat {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入 (boy/girl/over):");
        String input;
        do {
            input = sc.next(); // 以空白分隔讀取單詞
            if ("boy".equals(input)) {
                System.out.println("帥哥");
            } else if ("girl".equals(input)) {
                System.out.println("美女");
            } else if (!"over".equals(input)) {
                System.out.println("你想什麼呢");
            }
        } while (!"over".equals(input));
        System.out.println("退出程序");
        sc.close();
    }
}

關鍵細節

  • `sc.next()` 讀取單詞 (遇空白/換行停止);若需讀整行含空白用 `sc.nextLine()`。
  • 字串比較用 `"literal".equals(var)` 避免 `null` 擲出 NPE。
  • `do-while` 保證至少執行一次,符合「先輸入再判斷」邏輯。
  • 輸入 `over` 時不輸出提示,直接跳出迴圈印「退出程序」。

執行範例

請輸入 (boy/girl/over):
boy
帥哥
girl
美女
hello
你想什麼呢
over
退出程序

擴充建議

  • 用 `Map` 存儲關鍵字→回覆,支援動態擴充。
  • 加入正則 `input.matches("boy|girl")` 簡化判斷。
  • GUI 版:`JOptionPane.showInputDialog` + `JTextArea` 顯示歷史。

這是經典「Scanner + do-while + 字串比對」入門練習,掌握輸入讀取、迴圈控制、字串安全比較三大基礎技能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved