我刚刚在我的学校开始使用java,我有一点问题。那不是一个真正的问题,因为我找到了一种方法来解决它(虽然很复杂)。
我应该做一个诗人。所以,在for循环中,我想构建一个字符串,这些字符串位于某些arrayLists中,所以我使用StringBuilder。
问题是,我的句子应该包含来自4个不同数组列表的单词,(不同的单词类)
而且,不久之前,我在actionscript3中进行了编程,并且我可以真正使用这个问题,这会使代码变得如此简单。使用此[]
如此。我有4个列表:list0,list1,list2,list3
在我的循环中,我会在AS3中执行类似下面的操作(flash,actionscript3)
for(int i = 0; i<4; i++){
poem.append(This["list" + i].get(randomindex))
}
所以第一次循环,我从list0得到一个随机字,第二次,我从list1得到一个随机字,依此类推...... 在java中有什么方法可以做到这一点吗? x)的
答案 0 :(得分:3)
您可以使用数组;
List<String> list1 = Arrays.asList("String1", "String2");
List<String> list2 = Arrays.asList("String3", "String4");
List<String> list3 = Arrays.asList("String5", "String6");
List<String> list3 = Arrays.asList("String7", "String8");
List<String>[] lists = new List[]{ list1, list2, list3, list4};
然后用
替换你的代码for(int i = 0; i<4; i++){
poem.append(lists[i].get(randomindex));
}
答案 1 :(得分:1)
让fullList : List<List<String>>
包含您的list0-3
Random r = new Random();
StringBuildr poem = new StringBuilder();
for (List<String> list : fullList)
poem.append(list.get(r.nextInt(list.size())));
poem.toString(); //this is your poem
代码不是在IDE中编写的,也未经过测试。
答案 2 :(得分:0)
您可以使用二维数组see here
list[0] = {"firstWordA","firstWordB"};
list[1] = {"secondWordA","secondWordB"};
list[2] = {"thirdWordA","thirdWordB"};
list[3] = {"fourthWordA","fourthWordB"};
for(int i = 0; i<4; i++){
poem.append(list[i][randomindex])
}