是否可以撤消while循环的上次执行?

Aet*_*nus 1 java while-loop

这是一个例子:

int i = 0;
while (i < 11) {
    System.out.println(i);
    list.add(i);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

输出应该是:

0
1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)

arraylist应该对每个索引具有相同的值,但如果我不想要10呢?

考虑到while循环不能被修改,是否可以"撤销"while循环的最后一次执行?

我知道删除arraylist的最后一个索引更简单但是如果执行不是那么简单(如我的相关问题那样)会怎么样?

如果不可能,那么修改循环条件会更好吗?(对于我的问题不同于这一个,我坚持如何修改条件,因为它完美地工作,除了最后一次执行修改了一大堆不容易撤消的东西,就像这里简单的arraylist示例一样).

Vai*_*jaj 6

有许多方法可以阻止10具有不同含义的执行...在每种情况下你都必须使用chnage代码:

样本1:

int i = 0;
while (i < 11) {
    if (i == 10) {
        continue;    //Skip this iteration
    }
    System.out.println(i);
    list.add(i);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

样本2:

int i = 0;
while (i < 11) {
    if (i == 10) {
        break;    //Exit loop completely
    }
    System.out.println(i);
    list.add(i);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

样本3:

int i = 0;
while (i < 11) {
    if (i != 10) {  // Only perform the below functions if i != 10
        System.out.println(i);
        list.add(i);
    }
    i++;
}
Run Code Online (Sandbox Code Playgroud)

  • 你是不是在`if`之后的缩进块周围丢了一些括号? (3认同)