Java上的StackOverflow错误无法看到无限循环?

Java上的StackOverflow错误无法看到无限循环?,java,recursion,stack-overflow,Java,Recursion,Stack Overflow,我正在尝试创建一个程序,该程序可以查找“三角形数”和“星号”的值。然而,我有点困惑,当程序分支到第二个功能等。任何帮助是感激的 public class Recursion { public static void main(String[] args) { // TODO Auto-generated method stub int count =0; int n = 1;

我正在尝试创建一个程序,该程序可以查找“三角形数”和“星号”的值。然而,我有点困惑,当程序分支到第二个功能等。任何帮助是感激的

public class Recursion {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int count =0;
                int n = 1;
                int t=0;
                int triangularNumber =0;
                while (n<Integer.MAX_VALUE)
                {
                        t = isTriangularNumber(n,count,triangularNumber);  
                        triangularNumber=0;
                        int starNumber= ((6*n)*(n-1)) + 1;
                        if (starNumber ==t)
                        {
                                System.out.println(t);
                        }
                        n++;
                }      
                if (n==Integer.MAX_VALUE)
                {
                    System.exit(0);
                }
        }


        public static int isTriangularNumber(int n, int count, int triangularNumber)
        {
                triangularNumber =triangularNumber + (n-(n-count));
                if (count<=n)
                {      
                        return isTriangularNumber(n,(count++), triangularNumber);
                }      
                else return triangularNumber;
        }

}
公共类递归{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
整数计数=0;
int n=1;
int t=0;
int triangularNumber=0;
而
在上述
调用中
count++
仅计算为
count
。因此,在每次调用中,实际上传递的是
count
的未更改值。因此,如果
条件为:-

if (count<=n)
在上述
调用中
count++
仅计算为
count
。因此,在每次调用中,实际上传递的是
count
的未更改值。因此,如果
条件为:-

if (count<=n)
return isTriangularNumber(n,(++count), triangularNumber);