本帖最后由 kmter 于 2013-8-17 00:23 编辑
本来是准备画一张解析图给你解释一下的, 画一半时发现一个更好的方法,添加两行"测试代码".如下:- class Rec{
- int value[];
- Rec(int i){
- value=new int[i];
- }
- void PrintArray(int i){
- if(i==0){
- System.out.println("return"); // 表示return执行
- return;
- } else {
- System.out.println("PrintArray[i], i=" + i); //在调用函数本身之前输出当前PrintArray方法参数i的值
- PrintArray(i-1);
- }
- System.out.println("["+(i-1)+"]"+value[i-1]);
- }
- }
- class RecTest{
- public static void main(String args[]){
- Rec ob=new Rec(10);
- int j;
- for(j=0;j<10;j++)
- ob.value[j]=j;
- ob.PrintArray(10);
- }
- }
复制代码 你测试运行一下, 查看打印结果就可以大致了解一下PrintArray方法是怎样运行的了, 对你对递归的了解应该有所帮助
|