参考别人思路:
背景介绍
java中 的逻辑运算有 :
布尔逻辑或 | ;布尔逻辑与 & 。 如 a & b,当a 和 b 的值均为真时,才返回true。
短路逻辑 或 || ;短路逻辑与 && 。
短路逻辑与 && :表示当第一个表达式的值为假时,它不再判断第二个表达式的值,而是直接返回false。
短路逻辑或 || :表示当第一个表达式为真时,它不再判断第二个表达式的值,而是直接返回true。
本题可以考虑使用递归,递归的结束条件一般用法是(if n == 1) return 1;但是题目不让使用。
所以递归结束的判断条件,可以用短路逻辑与 && 来判断。
public class Solution {
public int Sum_Solution(int n) {
int sum = n;
//注意先要定义为boolean类型
boolean b = (n>0) &&((sum += Sum_Solution(n-1)) > 0);
return sum;
}
}