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
- 実行:
java UnderscorePractice
- コンソールに表示される問題に、自分で
_を入れた数値リテラルを入力 - 正しいかどうかすぐにチェックできる
これにより、自分で桁区切りを入れる練習ができ、間違いやすいポイント(先頭・末尾や小数点前後)も自然に覚えられます。
