我制作了一个带有一些名称的字符串数组,现在我想更改值的顺序,然后使用for循环。我唯一的问题是我不知道如何更改数组值的顺序。这是我的代码:
people = new ArrayList<>();
people.add("Sam");
people.add("John");
people.add("Kim");
people.add("Edison");
int rando = (int)(Math.random() *4);
for (i=0; i< people.size(); i++) {
text.append(people.get(rando));
}
,但是它只打印四个值之一。像这样:
KimKimKimKim
答案 0 :(得分:1)
您可以使用Collections.shuffle(people);
从数组列表中获取经过改组的名称。只需一行代码即可满足您的需求
textView.setText(TextUtil.join(",", Collections.shuffle(people));
答案 1 :(得分:0)
您可以尝试此方法
public static String getRandom(String[] people) {
int rnd = new Random().nextInt(people.length);
return people[rnd];
}
答案 2 :(得分:0)
尝试一下。这就是我在音乐播放器应用中播放歌曲的方式
for (i=0; i< people.size(); i++) {
shuffleText(people.size())
}
private void shuffleText(int size) {
int randomNumber = new Random().nextInt((size) + 1) + 1;
text.append(people.get(randomNumber));
}