fadsafad
幼苗
共回答了24个问题采纳率:87.5% 举报
别人要的是不重复的10位数,楼上的各位都没有实现这个功能.
首先定义一个HashMap,用来存放生成的随机数,然后用Random生成一个10位的随机数,再与HashMap里面的数据进行对比,没有则返回这个数,有的话就用递归即再调用这个方法来继续生成下一个10位的随机数,这样就可以了.
楼主懂了没
1年前
追问
1
想做MMde听好
举报
麻烦大侠能把程序写一下不,感激不尽!!!我是个新手,思路知道,但是写起来有点困难!
举报
fadsafad
public class Test1 { List list = new ArrayList(); // 存放数据 public static void main(String[] args) { System.out.println(new Test1().getData()); } private String getData() { Random r = new Random(); String str = ""; for (int i = 0; i < 10; i++) { // 循环10次 Integer x = r.nextInt(10); // 0-9的随机数 str += x.toString(); // 拼成10位数 因为int类型只能存放200000000+的数据,所以只能用字符串拼接 } if(list.contains(str)) { //存在则再生成一次数据 this.getData(); } return str; } } 好了