Javaでの数値の入力方法とエラーの分析


  1. Scannerクラスを使用する方法:

    import java.util.Scanner;
    public class InputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("整数を入力してください: ");
        int number = scanner.nextInt();
        System.out.println("入力された数値は " + number + " です。");
        scanner.close();
    }
    }

    この例では、Scannerクラスを使用してユーザーから整数を入力します。nextInt()メソッドを使用することで、ユーザーが入力した整数を取得することができます。ただし、ユーザーが整数以外の値を入力した場合、InputMismatchExceptionというエラーが発生します。この場合は、適切なエラー処理を行う必要があります。

  2. BufferedReaderクラスを使用する方法:

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    public class InputExample {
    public static void main(String[] args) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        try {
            System.out.print("実数を入力してください: ");
            double number = Double.parseDouble(reader.readLine());
            System.out.println("入力された数値は " + number + " です。");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (NumberFormatException e) {
            System.out.println("入力エラー: 不正な数値が入力されました。");
        }
    }
    }

    この例では、BufferedReaderクラスを使用してユーザーから実数を入力します。readLine()メソッドを使用して文字列として入力を受け取り、Double.parseDouble()メソッドを使用して実数に変換します。もしユーザーが数値以外の値を入力した場合、NumberFormatExceptionというエラーが発生します。

これらの例では、ユーザーの入力に対してエラー処理を行っていますが、他にもさまざまな方法があります。例えば、正規表現を使用して入力のバリデーションを行ったり、独自の例外クラスを定義してエラーメッセージをカスタマイズしたりすることも可能です。

以上がJavaで数値の入力とエラー処理の方法の一部です。他にも様々な方法がありますので、必要に応じて詳細を調査してみてください。