2014-05-23 3 views
0

У меня есть два массива сказать ..Можно ли пройти два массива через один для каждого цикла?

String[] a = { 
    "dog", "cat", "turtle" 
}; 
String[] b = { 
    "doog", "caat", "tuurtle" 
}; 

И я траверс как

for (String s: a) { 
Sop(s). 
} 

как мудрая снова мы должны пройти через второй массив. Но мой Qsn использует один расширенный цикл for (для каждого цикла), я могу пройти или выполнить некоторую операцию с использованием двух массивов.

Ваша помощь будет оценили ..

+0

Нет. Для каждого цикла используется только одна коллекция. – awksp

+0

вы могли бы просто использовать обычный индексированный цикл, если оба массива гарантированно имеют одинаковую длину –

+0

через один для каждого цикла, нет. каждый для каждого итерации над одним единственным массивом/списком/множеством. через нормальный цикл, да, но тогда вам нужно убедиться, что у вас есть проблемы, так как массивы не имеют одинакового размера. – Stultuske

ответ

0
for(int n=0; n<2; n++) 
{ 
    a[n]; 
    b[n]; 
} 

Но в этом случае и должны знать длину массива и массивы должны иметь тот же размер

или

if(a.length == b.length) 
{ 
    for(int n=0; n<2; n++) 
    { 
     a[n]; 
     b[n]; 
    } 
} 
+0

он просит за каждый цикл –

+0

Да, но это невозможно, поэтому я дал ему пример для цикла – dharr

+0

Спасибо всем за попытку, чтобы вы меня поняли :) – Bamadeva

0

Его не возможно для каждого цикла. Но вы можете иметь несколько индексирования для цикла. Что-то вроде этого

String[] a = {"dog", "cat", "turtle"}; 
    String[] b = {"doog", "caat", "tuurtle"}; 

    for (int i = 0, j = 0; i < a.length || j < b.length; i++, j++) { 
     if(i < a.length){ 
      System.out.println(a[i]); 
     } 
     if(j < b.length){ 
      System.out.println(b[j]); 
     } 
    } 
+0

@clcto: Нет. В этом случае цикл заканчивается, когда заканчивается самый короткий массив итерация. Другой массив может по-прежнему иметь значение. –

+0

О, только что увидели, что вы проверили позже в цикле. – clcto

+0

Спасибо всем за попытку заставить меня понять :) – Bamadeva

0

Это невозможно для каждого цикла. но вы можете пройти через простой базовый цикл, как и другие.

0
String[] a = { 
"dog", "cat", "turtle" 
}; 
String[] b = { 
"doog", "caat", "tuurtle" 
};  

И я траверс как

if(a.length==b.length){ 
int i=0; 
for (String s: a) { 
Sop(s); 
Sop(b[i++]); 

} 
} 
0

Там нет языка строительства для этого, но вы можете реализовать его. Создайте итератор над структурами с двумя полями ...

Смежные вопросы