ygKan
2019-04-27 22:43
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;
}
}
}
while(a >-1){
b = a+b/a;
a--;
}
这个循环,只要a>-1就循环,a--,那么不论你输入啥,总会走到a=0的时候,0不能作为分母啊,会导致 b = a+b/a;
b无穷大,肯定报异常了啊,你可以把判断条件改成 a>0
Java入门第三季
409792 学习 · 4340 问题
相似问题