日期:2014-05-20  浏览次数:20577 次

菜鸟求助异常小问题!!
这是一个计算输入的整数的和。
我的问题是,如果我输入的不是整数,我想从当前输入的数重新开始
比如:
请输入第一个数:10
请输入第二个数:20
请输入第三个数:asdf
数字格式错误,请重新输入!
请输入第三个数:
您输入的三个整数的和为:……
我想用异常实现,该怎么做?

Java code

import java.util.*;

class Test{
    public static void main(String[] args){        
        Test.test(3);
    }
    
    public static void test(int x){
        int sum = 0;
        Scanner input = new Scanner(System.in);

        for(int i = 1; i <= x; i++){
            System.out.print("请再输入第"  + i + "个正整数:");
                sum += input.nextInt();
        }
        
        System.out.println("您输入的" + x + "个整数的和为:" + sum);//输出最后一次的和就是总和
    }
}



------解决方案--------------------
在input.nextInt();这里。用try catch语句。捕获异常。在catch语句中重新输入
------解决方案--------------------
如果用异常,你也要考虑第一次就错的情况