逻辑中断10到115,间隔为10 java
我有以下价值观: int startIndex=10; int maxResultCount=115 上述数据表明,从指数10开始到指数125,总共有115个 所以我需要生成一个间隔为10的startIndex和endIndex序列 比如: 主要问题是最后超过5条记录。(121 - 125). 我没法拿到最后一排。我已完成以下代码:逻辑中断10到115,间隔为10 java,java,loops,Java,Loops,我有以下价值观: int startIndex=10; int maxResultCount=115 上述数据表明,从指数10开始到指数125,总共有115个 所以我需要生成一个间隔为10的startIndex和endIndex序列 比如: 主要问题是最后超过5条记录。(121 - 125). 我没法拿到最后一排。我已完成以下代码: int startIndex= 10; int maxResultCountCount = 115; int endIndex = 0;
int startIndex= 10;
int maxResultCountCount = 115;
int endIndex = 0;
int tempStartIndex=startIndex;
endIndex = startIndex + 10;
while(endIndex < tempStartIndex + maxResultCountCount){
System.out.println(startIndex);
System.out.println(endIndex);
System.out.println();
startIndex = endIndex + 1;
endIndex = (endIndex + 10 > tempStartIndex + maxResultCountCount) ? (tempStartIndex + maxResultCountCount) : (endIndex + 10);
}
正如你所看到的,我正在丢失最后5条记录(121-125)
请帮助我提供正确的逻辑。while(endIndex while(endIndex < tempStartIndex + maxResultCountCount){
System.out.println(startIndex);
System.out.println(endIndex);//here first print value than increase at last
System.out.println();
startIndex = endIndex + 1;
endIndex = (endIndex + 10 > (tempStartIndex + maxResultCountCount)) ? (tempStartIndex + maxResultCountCount) : (endIndex + 10);
//when its return 125 than condition should be false so achive this print the value outside the loop
}
System.out.println(startIndex);
System.out.println(endIndex);
系统输出打印LN(startIndex);
System.out.println(endIndex);//这里第一个打印值比最后增加
System.out.println();
startIndex=endIndex+1;
endIndex=(endIndex+10>(tempStartIndex+MaxResultCountCountCount))?(tempStartIndex+MaxResultCountCountCount):(endIndex+10);
//当其返回值为125时,条件应为false,因此实现此操作将打印循环外的值
}
系统输出打印LN(startIndex);
System.out.println(endIndex);
这样就可以了
int startIndex= 10;
int maxResultCountCount = 115;
int endIndex = 0;
int spacing=10;
int maxValue=maxResultCountCount+startIndex;
int endIndex =endIndex+spacing;
while(startIndex < maxValue){
System.out.println(startIndex+" "+endIndex);
startIndex = endIndex + 1;
endIndex = endIndex+spacing;
if(endIndex>maxValue)
endIndex=maxValue;
}
intstartindex=10;
int maxResultCountCount=115;
int-endIndex=0;
整数间距=10;
int maxValue=maxResultCountCount+startIndex;
int endIndex=endIndex+间距;
while(startIndexmaxValue)
endIndex=maxValue;
}
谢谢兄弟……这是可行的,但我将以下标记为正确答案,因为在我的情况下,代码行数正在减少。非常感谢……@saptarshi不喜欢mattter
while(endIndex < tempStartIndex + maxResultCountCount){
System.out.println(startIndex);
System.out.println(endIndex);//here first print value than increase at last
System.out.println();
startIndex = endIndex + 1;
endIndex = (endIndex + 10 > (tempStartIndex + maxResultCountCount)) ? (tempStartIndex + maxResultCountCount) : (endIndex + 10);
//when its return 125 than condition should be false so achive this print the value outside the loop
}
System.out.println(startIndex);
System.out.println(endIndex);
int startIndex= 10;
int maxResultCountCount = 115;
int endIndex = 0;
int spacing=10;
int maxValue=maxResultCountCount+startIndex;
int endIndex =endIndex+spacing;
while(startIndex < maxValue){
System.out.println(startIndex+" "+endIndex);
startIndex = endIndex + 1;
endIndex = endIndex+spacing;
if(endIndex>maxValue)
endIndex=maxValue;
}