无法随机化Java字符串数组

将:

我想使用下面的代码随机或随机排列字符串数组的顺序

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 []的原因,这就是我希望函数返回的内容。但是,代码只是没有按我预期的那样工作。它打印出几个相同的值。我该如何正确做呢?感谢你的回答...

MuratKaragöz:

您几乎拥有它,但是您两次引用相同的数组并交换其内容。更改此行

 String strTmp[] = str;

 String strTmp[] = new String[str.length];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章