1

ユーザーがキーボードから入力した 2 つの数値を加算するプログラムがあります。ここにあります:

package com.sigma.java7;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Addition {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter A :");
        String numA = br.readLine();
        int a = Integer.parseInt(numA);
        System.out.println("Enter B :");
        String numB = br.readLine();
        int b = Integer.parseInt(numB);
        System.out.println("The Result is : "+(a+b));
        br.close();
    }
}

ただし、ユーザーが間違ったデータを入力した場合の処理​​方法を知りたいのですが、「入力が正しくありません。正しい値を入力してください」というエラーメッセージが表示され、正しい情報を再度入力するよう求められます。ユーザーが正しく入力すると、プログラムは適切な結果を表示して終了します。

例外処理を使用しますか?

4

1 に答える 1

2

これを行うには、try catch を使用できます。たとえば、コードは次のようになります。

do {
    try {
       System.out.println("Enter A :");
       String numA = br.readLine();
       int a = Integer.parseInt(numA);
       break;
    } catch (Exception e /*InputMismatchException e*/) {
       System.out.println("Please fill in a number between –2,147,483,648 and 2,147,483,647");
       //System.out.println(e.printStackTrace()); //Use this to print the error
    }
} while (true);

これは、入力を整数に解析できない場合に例外をスローします。

于 2013-07-16T18:18:39.750 に答える