j02080307.java
来自「经典java教材《java完美经典》一书中源码的完全收集」· Java 代码 · 共 35 行
JAVA
35 行
import java.lang.*;
class j02080307
{
public static void main(String para[])
{
System.out.println("(1+2+...+100)+...+(1+2+3)+(1+2)+1= "
+ new j02080307().calculate(100) );
}
long calculate(long top)
{
if(top > 1000)
{ //若递归调用层次过多,使用堆栈过量,可能发生 StackOverflowError 错误
//笔者的计算机只能计算到 calculate(5650)
System.out.println("限制计算到 calculate(1000)!");
top = 1000;
}
long sum = 0;
for(int x=1;x<=top;x++)
{
sum = sum + x;
}
//System.out.println(sum);
if(top>1)
sum = sum + calculate(top-1); //有条件地向下递归
System.out.println(sum);
return sum;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?