int first=2; int second=4; int third=3; int total=?; int i,j,k; for(i=0;i<third && i<total;i++) { // } for(j=0;j<second && i+j<total;j++) { // } for(k=0;k<third && i+j+k<total;k++) { // } is this what you want?
实际上你的问题不是一个大循环里包含几个小循环的问题,而是把循环次数拆分开来的问题。 007JavaKing(接分) 已经给出了这个问题的一个答案。我这里再给一个解答。int[] times = {2, 4, 3}; int totalTimes = 9; // or 5for (int i = 0, n = 0; i < times.length && n < totalTimes; ++i) { int m = times[i]; for (int j = 0; j < m && n < totalTimes; ++j, ++n) { // here do what you want } }
int second=4;
int third=3;
int total=?;
int i,j,k;
for(i=0;i<third && i<total;i++)
{
//
}
for(j=0;j<second && i+j<total;j++)
{
//
}
for(k=0;k<third && i+j+k<total;k++)
{
//
}
is this what you want?
007JavaKing(接分) 已经给出了这个问题的一个答案。我这里再给一个解答。int[] times = {2, 4, 3};
int totalTimes = 9; // or 5for (int i = 0, n = 0; i < times.length && n < totalTimes; ++i) {
int m = times[i];
for (int j = 0; j < m && n < totalTimes; ++j, ++n) {
// here do what you want
}
}
在条件满足时用break 或 continue跳到相应的标号。