24 Şubat 2011 Perşembe

Java dizilerin kartezyen çarpımı

Arkadaşımın ihtiyacı üzerine geliştirdiğim algoritmanın java kodları;

public class Hadi {

private static String[] oldies;
private static List perList = new ArrayList();

public static void main(String[] args) {
perList.add(new String[] {"ist,","ank,","adn,"});
perList.add(new String[] {"ali,","veli,","maria,","nursel,"});
perList.add(new String[] {"elma","armut"});

oldies = new String[perList.size()];

printIt(0);
}

private static void printIt(int level) {
for (int i = 0; i < perList.get(level).length; i++) {
oldies[level] = perList.get(level)[i];

if (level < perList.size() - 1) {
printIt(level + 1);
}

if (level == perList.size() - 1) {
for (int j = 0; j < oldies.length; j++) {
System.out.print(oldies[j]);
}
System.out.println();
}
}
}

}

Çıktısı ise;

ist,ali,elma
ist,ali,armut
ist,veli,elma
ist,veli,armut
ist,maria,elma
ist,maria,armut
ist,nursel,elma
ist,nursel,armut
ank,ali,elma
ank,ali,armut
ank,veli,elma
ank,veli,armut
ank,maria,elma
ank,maria,armut
ank,nursel,elma
ank,nursel,armut
adn,ali,elma
adn,ali,armut
adn,veli,elma
adn,veli,armut
adn,maria,elma
adn,maria,armut
adn,nursel,elma
adn,nursel,armut

Hiç yorum yok:

Yorum Gönder