Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在一定数量的迭代之后重新启动do-while循环_Java_Loops_Iteration_Do While - Fatal编程技术网

Java 如何在一定数量的迭代之后重新启动do-while循环

Java 如何在一定数量的迭代之后重新启动do-while循环,java,loops,iteration,do-while,Java,Loops,Iteration,Do While,我有一个做循环 int maxItter = 20; int index = maxItter; do { index --; int itterNum = maxItter-index; //stuff } while (index > 0); index = index + 1; 其中,maxItter等于最大迭代次数,ititernum为当前迭代,do while循环处于开启状态 经过20次迭代后,我希望“itterNum”在0处重新启动 我该怎么做?您

我有一个做循环

int maxItter = 20;
int index = maxItter;
do {
    index --;
    int itterNum = maxItter-index;

    //stuff

} while (index > 0);
index = index + 1;
其中,
maxItter
等于最大迭代次数,
ititernum
为当前迭代,do while循环处于开启状态

经过20次迭代后,我希望“itterNum”在0处重新启动


我该怎么做?

您可能只想使用模。还可以使用for循环来简化此过程

int maxIter = 20;
for (int index = 0;; index++) {
    int iterNum = index % maxIter;
    //stuff
}

你可能只想用一个模。还可以使用for循环来简化此过程

int maxIter = 20;
for (int index = 0;; index++) {
    int iterNum = index % maxIter;
    //stuff
}

我希望你的问题是对的。在这种情况下,您将得到无限循环:

public static void main(String[] args) {
    int maxItter = 20;
    int index = maxItter;
    do {
        index --;
        int itterNum = maxItter-index;

        //stuff

        if (itterNum == 20) {
            index = 20;
        }
        System.out.println(itterNum + " " + index);
    } while (index > 0);
    index = index + 1;
}

我希望你的问题是对的。在这种情况下,您将得到无限循环:

public static void main(String[] args) {
    int maxItter = 20;
    int index = maxItter;
    do {
        index --;
        int itterNum = maxItter-index;

        //stuff

        if (itterNum == 20) {
            index = 20;
        }
        System.out.println(itterNum + " " + index);
    } while (index > 0);
    index = index + 1;
}

可能有n种方法

public class Main {
    public static void main(String[] arg) {
        int maxItter = 20;
        int index = maxItter;
        // how many times you want to restart the loop
        int numberOfRestart = 10;
        do {
            index --;
            int itterNum = maxItter-index;
            if(index == 0) {
                index = maxItter;
                numberOfRestart --;
            }
            if(numberOfRestart == 0) {
                break;
            }
        } while (index > 0);
        index = index + 1;
    }
}

可能有n种方法

public class Main {
    public static void main(String[] arg) {
        int maxItter = 20;
        int index = maxItter;
        // how many times you want to restart the loop
        int numberOfRestart = 10;
        do {
            index --;
            int itterNum = maxItter-index;
            if(index == 0) {
                index = maxItter;
                numberOfRestart --;
            }
            if(numberOfRestart == 0) {
                break;
            }
        } while (index > 0);
        index = index + 1;
    }
}

你可以用另一个循环来包装你的循环,这不是一个无限循环吗?你可以用另一个循环来包装你的循环,这不是一个无限循环吗?