JAVA利用递归写了一个求和方法,不知道怎么写异常处理,希望高手指教一下。。

已经写了一个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;
			}
		}
	}

}


红茶不能洒
浏览 2232回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP