String[] names={"Max", "Jack", "Roger"};
String[] verbs={"Loves", "hates", "knows"};
String[] languages={"Java", "C#", "Python", "Visual Basic", "C++"};
for(String name:names)
for(String verb:verbs)
for(String language:languages)
System.out.println(name+" "+verb+" "+language);
EDIT:
Oh ,i see . I misunderstood the question . You can just use the magic of recursion to solve this. This is what you want:
public static void main(String[] args) {
String[][] sets={
{"Max", "Jack", "Roger"},
{"Loves", "hates", "knows"},
{"Java", "C#", "Python", "Visual Basic", "C++"},
};
combine(sets,0,"");
}
public static void combine(String[][] list,int index,String upperText)
{
if(index==list.length)return;
for(String i:list[index]){
combine(list,index+1,upperText+i);
if(index==list.length-1){
System.out.println(upperText+i);
}
}
}