我想使用下面的代码随机或随机排列字符串数组的顺序
public static void main(String[] args) {
String str[]= {"Vxds", "Cvda", "Xcgi", "Atdr", "Mbeds", "0bda"};
String strTmp[]=str;
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i=0; i<str.length; i++) {
list.add(new Integer(i));
}
Collections.shuffle(list);
for (int i=0; i<str.length; i++) {
strTmp[i]=str[list.get(i)];
System.out.println(strTmp[i]);
}
}
之所以这样做而不是直接将其打印出来,是因为我想稍后将其转换为函数。这就是为什么我将其传递给strTmp []的原因,这就是我希望函数返回的内容。但是,代码只是没有按我预期的那样工作。它打印出几个相同的值。我该如何正确做呢?感谢你的回答...
您几乎拥有它,但是您两次引用相同的数组并交换其内容。更改此行
String strTmp[] = str;
至
String strTmp[] = new String[str.length];
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句