JAVA,双循环求解,没有报错但是没有结果输出?

需求:
1.判断条件a
2.满足则判断b
3.如果b在满足a的数,往后43个数中,则不输出

简单的来说就是有一串随机生成的序列,定义一个变量i,满足a的i往后43个之内,如果满足b则不输出,从第44个开始满足则输出。
下面是我的代码,没有报错但是没有输出结果,请指点。

for(int i =0;i<rates_total;i++)//rates_total会无限增加
{
    if(a)
      {
          for(int j=i+44;j<rates_total;j++)
              {
                  if(b)
                      {
                        print(...);
                      }
              }
      }
}

不对吧,你不应该是

for(int j=i;j<i+44;j++) {
  if(b)  
    print(...);
}