有时,程序抛异常也可以是一把解决问题的快刀。
题目描述
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
题目条件苛刻,使用递归时,可以在程序捕捉到异常时给一个返回值结束递归调用。
public int Sum_Solution(int n) {
try {
// 分母 n = 0时抛出异常
int a = 1 / n;
//递归
return n + Sum_Solution(n - 1);
} catch (Exception e) {
// 捕捉到异常时结束
return 0;
}
}