如何以循环顺序循环?

MHR*_*MHR 0 java for-loop

假设:

int id = 2;
for (int i = 0; i < 4; i++) {
    System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)

它以0,1,2,3的顺序输出.

我如何让它开始id并环绕以给出输出2,3,0,1?

Lor*_*der 7

一种可能性是"创造性"并使用数学运算符.

int id = 2;
for (int i = 0; i < 4; i++) {
    System.out.println((id + i) % 4); // 2 + 0 % 4 = 2, 2 + 1 % 4 = 3, 2 + 2 % 4 = 0
}
Run Code Online (Sandbox Code Playgroud)

4您也可以定义变量,而不是使用静态数字,例如,

int id = 2;
for (int i = 0; i < n; i++) {
    System.out.println((id + i) % n);
}
Run Code Online (Sandbox Code Playgroud)

这将始终打印循环订单.例如,对于n = 6,2,3,4,5,0,1 ......

另一种方法是定义一个数组

int[] numbers = new int[] {2, 3, 0, 1};
Run Code Online (Sandbox Code Playgroud)

并迭代它.