黑马程序员技术交流社区
标题:
随机摇出1-33之间的7个随机数,不能重复
[打印本页]
作者:
白龙马大魔王
时间:
2016-7-11 15:56
标题:
随机摇出1-33之间的7个随机数,不能重复
要求存储双色球用ArrayList集合完成,
随机摇出双色球可使用Random类nextInt()方法、ArrayList集合remove()方法完成
作者:
ImKing
时间:
2016-7-11 16:52
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class test {
public static void main(String[] args) {
List lit = new ArrayList();
int count = 0;
while (true) {
int temp = (int) (Math.random() * 33 + 1);
if (!lit.toString().contains(String.valueOf(temp))) {
count++;
lit.add(temp);
}
if (count != 7) {
continue;
} else {
break;
}
}
for (int i = 0; i < 7; i++) {
System.out.print(lit.get(i) + " ");
}
}
}
复制代码
这样可以实现方式的一种,
作者:
ImKing
时间:
2016-7-11 16:55
math.png
(184.57 KB, 下载次数: 153)
下载附件
math
2016-7-11 16:54 上传
这样改也可以,题主根据需要可以稍微完善一下
作者:
真诚额
时间:
2017-6-27 15:03
import java.util.ArrayList;
public class Random_1 {
public static void main(String[] args) {
ArrayList<Integer> array = new ArrayList<Integer>();//首先创建一个集合
while (true) { //无限循环
// int ran_1=new Random().nextInt(32)+1;
int ran = (int) (Math.random() * 32) + 1;//用函数表达式比较简洁;
array.add(ran); // 先将元素存储到集合中
// System.out.println(ran);
for (int j = 0; j < array.size() - 1; j++) { // 通过for来进行遍历,使得重复的随机数去掉,循环到新添加的元素之前
if (ran == array.get(j)) {// 集合中随机数与该数前面元素是否存在相同
array.remove(array.size() - 1);
break;
}
//System.out.println(ran);
}
if (array.size() == 7) {
break;
}
}
System.out.println("中奖号码位:");
for (int i = 0; i < array.size(); i++) {
System.out.print(array.get(i) + "\t");
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2