两个简单的例子,代码实现如下:
1、随机拆分一个整数
public static List<Integer> randomList(int n){ Random rand = new Random(); List<Integer> list = new ArrayList<>(); int i = 0; while (i < n) { int num = rand.nextInt(n); if (!list.contains(num)) { list.add(num); i++; } } return list; }
2、从已知列表中随机选取不同对象
public static List<Integer> randomList(int n,int size) { Random rand = new Random(); List<Integer> list = new ArrayList<>(); int i = 1; while (i <= n) { int num = rand.nextInt(size-1) + 1; if (!list.contains(num)) { list.add(num); i++; } } return list; }
3、把一个整数拆分成不等的几份
public static List<Integer> randomList(int n, int m){ Random rand = new Random(); List<Integer> list = new ArrayList<>(); int temp = m; for(int i = 0, j; i < n-1; i++){ j = rand.nextInt(temp-1) + 1; temp -= j; list.add(j); if (temp == 1){ break; } } list.add(temp); return list; }
例子很简单,仅供参考。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。