A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.util.*;

  2. public class RandomNumberDemo {

  3.         public static void main(String[] args) {
  4.                 System.out.println(getRandom());
  5.         }

  6.         public static List<Integer> getRandom() {
  7.                 Random rd = new Random();
  8.                 ArrayList<Integer> al = new ArrayList<Integer>();
  9.                 int i = 0;
  10.                 while(i != 10)
  11.                 {
  12.                         int r = rd.nextInt(20);
  13.                         if(!al.contains(rd)){
  14.                                 al.add(r);
  15.                                 i++;
  16.                         }
  17.                 }
  18.                 return al;
  19.         }

  20. }
复制代码

9 个回复

倒序浏览
16行 应该是   if(!al.contains(r)
你这个生产的是0~19,如果是1~20的话15行应该是  int r = rd.nextInt(20)+1
回复 使用道具 举报
蔡锐 发表于 2015-7-14 16:09
16行 应该是   if(!al.contains(r)
你这个生产的是0~19,如果是1~20的话15行应该是  int r = rd.nextInt(20 ...

恩恩   谢谢指正。
回复 使用道具 举报
回复 使用道具 举报
严重怀疑是来黑马币的!!!!!!!
回复 使用道具 举报
一楼正解
回复 使用道具 举报
木头人之死 发表于 2015-7-14 19:13
严重怀疑是来黑马币的!!!!!!!

真是粗心了,我实在是找不出错了
回复 使用道具 举报
Miss.H 中级黑马 2015-7-14 21:09:16
8#
既然是随机随机到一样的不是很正常
回复 使用道具 举报
Miss.H 发表于 2015-7-14 21:09
既然是随机随机到一样的不是很正常

要求是随机不重复的
回复 使用道具 举报
xiaoxinxin003 发表于 2015-7-14 21:07
真是粗心了,我实在是找不出错了

if(!al.contains(rd))
这个错了!!!!!!是r不是rd
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马