例子一:
程序結束口:表達式(n==-1)為true,代表n(100)被遞減完了,已經不能被遞減了,
如不是-1,則代表還有數值可以被遞減,此題及計算結果為偶數總和,遞減時應當判斷 當前n是否為偶數
如果是偶數,則 sum(偶數總和) = n(當前數值)+ 調用此方法(n(當前數值)-1(每次遞減1))
如果不是偶數,則不需要添加到sum 里面,直接再次調用自己本身方法,n-1,進入下一輪
/**
* 計算1-100以內偶數的總和
* n為要計算的數值(100)
* sum為總和
*/
public static int evenSum(int n) {
int sum = 0;
if (n == -1) {
return sum;
} else {
if (n % 2 == 0) {
return sum =n+evenSum(n - 1);
} else {
return evenSum(n - 1);
}
}
}
/**
* 計算1-100以內的和
* n為要計算的數值(100)
* sum為總和
*/
public static int totalSum(int n){
int sum=0;
if (n==-1){
return sum;
}else {
return sum=+n+totalSum(n-1);
}
}
public static void main(String[] args) {
//計算1-100以內偶數的和
System.out.println(totalSum(100));
//計算1-100以內的和
System.out.println(evenSum(100));
}