使用foreach填充二维数组Java

因此,我尝试使用两个 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 变量并对其进行 ++ 才能拥有索引?


catspeake
浏览 95回答 1
1回答

慕田峪7331174

foreach 返回只读值,因此这就是第一种方法不起作用的原因。您可以使用 for 代替 foreach。for(int i = 0; i < table.length; i++) {&nbsp; &nbsp; for(int j==0; j<table[i].length; j++) {&nbsp; &nbsp; &nbsp; &nbsp; table[i][j]="asd";&nbsp; &nbsp; }}如果你想使用foreach,你可以单独保留索引。我不明白你为什么会这么做。int i=0;int j;for(String[] x:table) {&nbsp; &nbsp; j=0;&nbsp; &nbsp; for(String z:x) {&nbsp; &nbsp; &nbsp; &nbsp;table[i][j]="asd";&nbsp; &nbsp; &nbsp; &nbsp;j++;&nbsp; &nbsp; }&nbsp; &nbsp; i++;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java