Как можно достичь этого результата с помощью цикла foreach в Java? - PullRequest
0 голосов
/ 05 июня 2011

Я пытаюсь создать 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]);
            }
        }
    }

Я знаю, как сделать цикл foreach в Java, но я не могу сделать это с многомерным массивом.Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 05 июня 2011

Вам нужно перебрать String[] s во внешнем массиве строк-массивов:

for (String[] arr : enteredStrings) {
    for (String str : arr) {
        ...
    }
}
0 голосов
/ 05 июня 2011

Для трехмерного массива с вашими настройками приведенный ниже код напечатает содержимое массива.Тем не менее, я не уверен, как вы получаете индексы для каждого.

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