因此,我尝试使用两个 foreach 循环来迭代二维字符串数组,并将所有值设置为默认字符串。不过我一定是在捏造 foreach 语法。我已经尝试了两种方法,但都不起作用。我应该放弃并只使用常规的 for 循环吗?import java.util.ArrayList;public class Test{String[][] table;table = new String[11][6];for(String[] x:table) {for(String z:x) {z="asd";}}}所以此时的问题是java只是重新定义了循环变量并没有触及实际的数组。所以我尝试将其放入第二个循环中:table[x][z]="asd";这不起作用,因为它们都没有指向 int。所以我想我的问题是:有没有办法使用 foreach 循环本身的循环变量将 java 指向它当前在 foreach 循环中所在的索引?我是否使用像 getIndex() 这样的东西?或者我是否必须向每个循环添加一个 int 变量并对其进行 ++ 才能拥有索引?
1 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
foreach 返回只读值,因此这就是第一种方法不起作用的原因。您可以使用 for 代替 foreach。
for(int i = 0; i < table.length; i++) {
for(int j==0; j<table[i].length; j++) {
table[i][j]="asd";
}
}
如果你想使用foreach,你可以单独保留索引。我不明白你为什么会这么做。
int i=0;
int j;
for(String[] x:table) {
j=0;
for(String z:x) {
table[i][j]="asd";
j++;
}
i++;
}
添加回答
举报
0/150
提交
取消