1

我有一个程序,可以在用户从键盘输入的情况下添加两个数字。这里是:

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 回答