Java | 数値リテラルに桁区切り文字(_)を使う方法

Java Java
スポンサーリンク
import java.util.Scanner;

public class UnderscorePractice {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("=== Java 数値リテラルの桁区切り練習 ===");
        System.out.println("数字にアンダーバー _ を入れて見やすく書いてみよう。");
        System.out.println("正しい書き方かチェックします。");

        // 練習問題 5問
        String[] questions = {
            "Q1: 1000000 を桁区切りを使って書くと?",
            "Q2: 12345678 を桁区切りを使って書くと?",
            "Q3: 2進数 11011010 を桁区切りを使って書くと?(0bから始める)",
            "Q4: 16進数 ABCD を桁区切りを使って書くと?(0xから始める)",
            "Q5: 小数 3.14159265 を桁区切りを使って書くと?"
        };

        // 正しい例(文字列で保持)
        String[] answers = {
            "1_000_000",
            "12_345_678",
            "0b1101_1010",
            "0xAB_CD",
            "3.14_15_92_65"
        };

        for (int i = 0; i < questions.length; i++) {
            System.out.println(questions[i]);
            System.out.print("入力: ");
            String input = sc.nextLine().trim();

            if (input.equals(answers[i])) {
                System.out.println("✅ 正解!");
            } else {
                System.out.println("❌ 間違い。正解例: " + answers[i]);
            }
            System.out.println();
        }

        System.out.println("=== 注意点 ===");
        System.out.println("- 数字の先頭・末尾や小数点の直前・直後には _ を使えません");
        System.out.println("- アンダーバーは見やすくするだけで、出力には表示されません");

        sc.close();
    }
}
Java

このプログラムの使い方

  • ファイル名を UnderscorePractice.java で保存
  • コンパイル:
javac UnderscorePractice.java
  1. 実行:
java UnderscorePractice
  • コンソールに表示される問題に、自分で _ を入れた数値リテラルを入力
  • 正しいかどうかすぐにチェックできる

これにより、自分で桁区切りを入れる練習ができ、間違いやすいポイント(先頭・末尾や小数点前後)も自然に覚えられます。

タイトルとURLをコピーしました