我需要一个for循环,在一个结束后(其中一个限制)可以超出其限制,我喜欢声明限制9并开始遍历数组到索引8然后从9开始并再多花9个步骤所以,直到我到达数组的末尾,我的尝试达到了这一点,但我想知道它是否正常工作:
int [] i={9,18,27,36,45,54,63,72,81};
for(int x:i){
for(int j=0;j<x;j++)
{}
}
嵌套for循环是否会在内部for循环的每个完整循环之后更改x
值?
答案 0 :(得分:6)
然后从9开始,再多做9步
您的代码行为不符合您的要求,因为内部循环始终从0开始。
无需声明i
数组。你可以这样做:
int start = 0;
for (int i = 9; i <= 81; i+=9) {
for (int j = start; j < i; j++) {
}
start = i;
}
或者正如phflack所说:
for (int i = 9; i <= 81; i+=9) {
for (int j = i - 9; j < i; j++) {
}
}
答案 1 :(得分:0)
您可以使用此代码:
int start = 0;
for (int i = 9; i <= 81; i+=9) {
for (int j = start; j < i; j++) {
System.out.print(j+" ");
}
System.out.println();
start = i;
//System.out.print(start+" ");
}
}
你看到了:
0 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52 53
54 55 56 57 58 59 60 61 62
63 64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79 80
另一项培训:
int start = 0;
for (int i = 1; i <= 10; i++) {
for (int j = 1; j < i; j++) {
System.out.print(j + " ");
}
System.out.println();
}
你可以看到:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
您可以使用两个循环来打印矩阵。