首页 新闻 会员 周边

java实现对n个数字随机排序

0
[待解决问题]

怎么用java语言实现对1 2 3 4 5这五个数字进行随机排序,并一次性循环输出100个随机排序结果????

我只能实现对这5个数字进行随机排序,但是循环之后输出的结果是一样的。

就比如说循环三次之后的结果为:1 5 3 4 2

                                                  2 3 1 4 5

                                                  5 4 1 2 3

就像这样的。

who can help me??????

急急急急急急

(自己实在是太菜了)

灯儿的主页 灯儿 | 菜鸟二级 | 园豆:202
提问于:2021-04-16 23:39

public static void main(String[] args) {
String[] s = new String[]{"1", "2", "3", "4", "5"};
List<String> list = new ArrayList<>(Arrays.asList(s));
for (int i = 0; i < 100; i++) {
Collections.shuffle(list);
System.out.println(list);
}
}

agnils 3年前
< >
分享
所有回答(5)
0

使用随机数排序

通信的搞程序 | 园豆:1747 (小虾三级) | 2021-04-17 07:08
0

先生成所有的随机排序,然后随机取呗

yytxdy | 园豆:1680 (小虾三级) | 2021-04-17 10:06

这样数据大时造成了浪费,看我的回答怎么样

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2021-04-17 10:49

@会长: 太对了我的哥

支持(0) 反对(0) yytxdy | 园豆:1680 (小虾三级) | 2021-04-17 11:42

四五行代码就搞定了
public static void main(String[] args) {
String[] s = new String[]{"1", "2", "3", "4", "5"};
List<String> list = new ArrayList<>(Arrays.asList(s));
for (int i = 0; i < 100; i++) {
Collections.shuffle(list);
System.out.println(list);
}
}

支持(0) 反对(0) agnils | 园豆:205 (菜鸟二级) | 2021-04-19 14:30
0
var list =  [];
var i = 0;
while(i < 100)
{
    var result = 你选择的方法();
    if(list.contains(result))
    {
        contine;
    }
    list.add(result);
    print(result);
    i++;
}

以上只是伪代码,就是每次生成后都判断一下是否之前生成过一一样的

会长 | 园豆:12401 (专家六级) | 2021-04-17 10:52

j就是每次运行之后只能生成一条,怎么样才能多生成几条不同的

支持(0) 反对(0) 灯儿 | 园豆:202 (菜鸟二级) | 2021-04-17 13:48

@灯儿: 没明白你啥意思,Java里肯定有产生随机数的函数。

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2021-04-17 14:10
0

最原始的方法,循环嵌套循环,再把重复的剔除掉

西红柿里没有番茄 | 园豆:645 (小虾三级) | 2021-04-18 16:37
0

public static void main(String[] args) {
String[] s = new String[]{"1", "2", "3", "4", "5"};
List<String> list = new ArrayList<>(Arrays.asList(s));
for (int i = 0; i < 100; i++) {
Collections.shuffle(list);
System.out.println(list);
}
}

agnils | 园豆:205 (菜鸟二级) | 2021-04-19 14:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册