Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Java中的foreach循环实现相同的结果_Java_Multidimensional Array_Foreach - Fatal编程技术网

如何通过Java中的foreach循环实现相同的结果

如何通过Java中的foreach循环实现相同的结果,java,multidimensional-array,foreach,Java,Multidimensional Array,Foreach,我正在尝试创建一个DeleteRecord(),它接受任意数量的String[][]类型参数。我做了一个测试函数,看看我需要用什么样的逻辑来实现这个函数。我使它工作,但我想使用foreach循环。我该怎么做呢。我有以下代码: public void testSomething(String[][]... enteredStrings) { for (int i = 0; i < enteredStrings[0].length; i++) { for

我正在尝试创建一个
DeleteRecord()
,它接受任意数量的
String[][]
类型参数。我做了一个测试函数,看看我需要用什么样的逻辑来实现这个函数。我使它工作,但我想使用foreach循环。我该怎么做呢。我有以下代码:

public void testSomething(String[][]... enteredStrings) {
        for (int i = 0; i < enteredStrings[0].length; i++) {
            for (int j = 0; j < enteredStrings[0][i].length; j++) {
                System.out.println("i -> " + i + " " + "j -> " + j + " " + enteredStrings[0][i][j]);
            }
        }
    }
public void testSomething(String[][]输入字符串){
对于(int i=0;i<输入字符串[0]。长度;i++){
对于(int j=0;j”+i++“+”j->“+j++”+输入字符串[0][i][j]);
}
}
}

我知道如何在java中创建foreach循环,但我不能使用多维数组。提前感谢。

您需要在字符串数组外部数组中的
字符串[]
中循环:

for (String[] arr : enteredStrings) {
    for (String str : arr) {
        ...
    }
}

您需要在外部字符串数组中的
String[]
s中循环:

for (String[] arr : enteredStrings) {
    for (String str : arr) {
        ...
    }
}

对于具有设置的3D阵列,下面的代码将打印阵列的内容。但是,我不确定如何得到每个索引都带有a的索引

public void test2(String[][]... enteredStrings){
    for (String[] iii : enteredStrings[0]){
        for (String jjj: iii){
            System.out.println(jjj);
        }
    }
}

对于具有设置的3D阵列,下面的代码将打印阵列的内容。但是,我不确定如何得到每个索引都带有a的索引

public void test2(String[][]... enteredStrings){
    for (String[] iii : enteredStrings[0]){
        for (String jjj: iii){
            System.out.println(jjj);
        }
    }
}

在给定代码的情况下,每个环路都有一个最大的挂接装置将是第三个
println
。您正在使用那里的索引,因此如果您需要保持该行的方式,您必须从这里开始,并继续跟踪您所在的位置。@SLaks我想您忘记了
testSomething()
是一种可变类型的部分,我想Thomas就在这里。任何时候需要跟踪索引时,都可以使用标准for循环。我认为enteredStrings实际上是一个3d数组。是的。Eclipse显示类似以下字符串[]的工具提示。我的代码体也显示了这一点。给定提供的代码,每个循环都有一个最大的障碍是第三个
println
。您正在使用那里的索引,因此如果您需要保持该行的方式,您必须从这里开始,并继续跟踪您所在的位置。@SLaks我想您忘记了
testSomething()
是一种可变类型的部分,我想Thomas就在这里。任何时候需要跟踪索引时,都可以使用标准for循环。我认为enteredStrings实际上是一个3d数组。是的。Eclipse显示类似以下字符串[]的工具提示。我的代码体也显示了这一点。它是三维的my Friends如果你想修改元素(因为我看到你想做一个
DeleteRecord()
),你最里面的循环不应该是foreach循环,否则数组就不会被修改。如果你想修改元素,它是三维的my Friends(因为我看到您想要创建一个
DeleteRecord()
),所以最里面的循环不应该是foreach循环,否则数组不会被修改。