分析jieCheng2方法。
1. n=3 跳到 else中,i=2,i<n(即i<3),执行n=3*2,这时候n=6了
2 i++ 后 i=3, i<n (即n<6),执行 n=6*3=18 ,这时候n=18了。
3. 。。。
如此循环,你在复制给n的时候,再回到for循环判断时,你的n已经不是原来的值3了,n也在随之改变
如果要这样子做的话,你应该改为你求n的阶层,n的实际数字就写死在for中。
例如:不过不提倡这样的做法- static int jieCheng2(int n) {
- if (n == 0)
- return 1;
- else
- for (int i = 2; i <3; i++)
- n = n * i;
- return n;
- }
复制代码
|