已经写了一个try catch,但是输入不正常的数值运行就会出错,请教一下代码应该如何改进?
下面是源代码:
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的数值:"); int n = sc.nextInt(); System.out.println(SumTest(n)); break; } catch (Exception e) { // TODO: handle exception System.out.println("请输入大于0的整数!"); continue; } } } }