方法:由于不能采用题目中设计到的方法,因此我们采用递归思想进行运算。
其中最后一步设计到了 Java中的“短路”问题,若有朋友不懂啥是“短路”,请进我的博客查看,我专门有一篇是细讲“短路”原理的。
package com.swpu.lijun;
/**
*
* @author Swpu 求1+2+3+...+n,要求不能使用乘法,除法,for,while,if,switch,case等关键字以及条件判断语句。
*/
public class Niuke002 {
public static void main(String[] args) {
System.out.println(add(100));
}
public static int add(int n) {
int sum = n;
boolean flag = (n > 0) && ((sum += add(n - 1)) > 0);//通过短路实现终止递归
return sum;
}
}