因此,我嘗試使用兩個(gè) foreach 循環(huán)來迭代二維字符串?dāng)?shù)組,并將所有值設(shè)置為默認(rèn)字符串。不過我一定是在捏造 foreach 語法。我已經(jīng)嘗試了兩種方法,但都不起作用。我應(yīng)該放棄并只使用常規(guī)的 for 循環(huán)嗎?import java.util.ArrayList;public class Test{String[][] table;table = new String[11][6];for(String[] x:table) {for(String z:x) {z="asd";}}}所以此時(shí)的問題是java只是重新定義了循環(huán)變量并沒有觸及實(shí)際的數(shù)組。所以我嘗試將其放入第二個(gè)循環(huán)中:table[x][z]="asd";這不起作用,因?yàn)樗鼈兌紱]有指向 int。所以我想我的問題是:有沒有辦法使用 foreach 循環(huán)本身的循環(huán)變量將 java 指向它當(dāng)前在 foreach 循環(huán)中所在的索引?我是否使用像 getIndex() 這樣的東西?或者我是否必須向每個(gè)循環(huán)添加一個(gè) int 變量并對(duì)其進(jìn)行 ++ 才能擁有索引?
1 回答

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
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,你可以單獨(dú)保留索引。我不明白你為什么會(huì)這么做。
int i=0;
int j;
for(String[] x:table) {
j=0;
for(String z:x) {
table[i][j]="asd";
j++;
}
i++;
}
添加回答
舉報(bào)
0/150
提交
取消