我正在为需求编写代码。例如,如果我有以下测试数据:
multiple variable:
3
Context Change (next in array)
1
Context Change (next in array)
2
Repeat variable:
TESTA
Context change (next in array)
TESTB
Context change (next in array)
TESTC
代码:
我尝试使用j
作为数组。 i
和j
都失败了,因为例如如果第一个数组中的i
为3,则multiple[i]
将为multiple[3]
,这已经超出范围。
for(int j=0; j <= multiple.length - 1; j++) {
for(int i=0; i < Integer.parseInt(multiple[i]); i++) {
result.addValue(Repeat[i]);
}
}
输出应该是这个:
TESTA
TESTA
TESTA
Context change (next in array)
TESTB
Context change (next in array)
TESTC
TESTC
答案 0 :(得分:2)
乍一看,这是您的代码唯一的错误:
for(int j = 0; j <= multiple.length - 1; j++) {
for(int i = 0; i < Integer.parseInt(multiple[j]); i++) {
result.addValue(Repeat[i]);
}
}
您应该使用 multiple[j]
而不是 multiple[i]
,因为您正在该循环中循环。另一件事是您为什么要 multiple.length - 1
?另外,请澄清您想做什么,因为您的回答至少对我来说没有太大意义。 您要做什么?如果有帮助,那就太好了!否则澄清问题。希望对您有所帮助。
答案 1 :(得分:1)
我不明白您的要求,但我想您是在问有关多维数组遍历的问题。
例如,这是代码,也许可以帮助您:
int[][] arr = {{23, 45, 123}, {545}, {124,543}};
for (int i = 0; i < arr.length; i++) {
System.out.println("-------" + i + "-------");
for (int j = 0; j < arr[i].length; j++) {
System.out.println(arr[i][j]);
}
}