已經(jīng)寫了一個try catch,但是輸入不正常的數(shù)值運行就會出錯,請教一下代碼應(yīng)該如何改進?下面是源代碼:package?求和1的階乘到n的階乘;
import?java.util.Scanner;
public?class?Demo?{
public?static?int?SumTest(int?n){
if?(n?==?1)?{
return?1;
}?else?{
int?sum?=?1;
for?(int?i?=?1;?i?<=?n;?i++)?{
sum?=?sum?*?i;
}
return?sum?+?SumTest(n?-?1);
}
}
public?static?void?main(String[]?args)?{
//?TODO?自動生成的方法存根
Demo?de?=?new?Demo();
Scanner?sc?=?new?Scanner(System.in);
while?(true)?{
try?{
System.out.println("請輸入n的數(shù)值:");
int?n?=?sc.nextInt();
System.out.println(SumTest(n));
break;
}?catch?(Exception?e)?{
//?TODO:?handle?exception
System.out.println("請輸入大于0的整數(shù)!");
continue;
}
}
}
}
添加回答
舉報
0/150
提交
取消