class Rec
{
public int pattern(int n)
{
if(n>=1)
return pattern(n-5);
else
return pattern(n+5);
}
public static void main(String args[])
{
int a=16;
Rec ob=new Rec();
System.out.print("16\t"+ob.pattern(a));
}
}
以上是我的代码,它成功编译但不提供任何输出。
答案 0 :(得分:0)
更改模式函数,因为它永远不会中断递归。 因为无论n的值是什么,函数都会调用自身。因此,没有任何输出,模式函数调用继续。 有一件事你可以试试这个:
public int pattern(int n)
{
if(n>=-4){
System.out.print(""+n+"\t");
pattern(n-5);
if(n!=-4)System.out.print(""+n + "\t");
}
return 0;
}
输出: 16 11 6 1 -4 1 6 11 16