为了账号安全,请及时绑定邮箱和手机立即绑定

不明白,为什么输入a值为整数值,也会报异常?求指教啊

package test.Exception;
/*异常抛出及处理:try  catch  finally
 *
 */
import java.util.*;
public class Exception_Test1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Exception_Test1 Test =new Exception_Test1();
        int result =Test.test();
        System.out.println("test()方法执行了,结果为:"+result);
        

    }
    public int test(){
        Scanner input =new Scanner(System.in);
        try{
            int b =100;
            System.out.println("请输入a的值");
            int a =input.nextInt();
            while(a >-1){
                b = a+b/a;
                a--;      
            }
            return b;
        }catch(Exception e){
            e.printStackTrace();
            System.out.println("异常报出,a应该为整数值");
            return 0;
        }
        
    }

}

正在回答

1 回答

 while(a >-1){
                b = a+b/a;
                a--;      
            }

这个循环,只要a>-1就循环,a--,那么不论你输入啥,总会走到a=0的时候,0不能作为分母啊,会导致 b = a+b/a;

b无穷大,肯定报异常了啊,你可以把判断条件改成 a>0

0 回复 有任何疑惑可以回复我~
#1

ygKan 提问者

了解。谢谢
2019-04-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

不明白,为什么输入a值为整数值,也会报异常?求指教啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信