2 u013799749 u013799749 于 2014.03.24 13:11 提问

Java中的简单Lottery问题,急求!!!麻烦了。。。

CSDN移动问答从1~22中随机产生5个随机数,不能有重复,关键我的有重复,帮忙修改下,我的问题在哪里??改了好多回都不行。。。。。

1个回答

slamzwl
slamzwl   2014.03.24 15:07
已采纳

有一个办法可以解决你的问题,那就是将生成的随机数存储在HashSet当中,它会自动去除重复的元素,当个数达到5个时,停止生成。
我的代码如下:
public static void main(String[] args)
{
int[] mylist = new int[5];
HashSet randomSet = new HashSet();
Random myrandom = new Random();
for(int i = 0;i<22;i++)
{
randomSet.add(myrandom.nextInt(22));

if(randomSet.size()==5)
break;
}
Iterator it = randomSet.iterator();
int num = 0;
while(it.hasNext())
{
mylist[num] = (int) it.next();
num++;
}
for(int i =0;i<5;i++)
{
System.out.println(mylist[i]);
}

}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PHP还真不是一般的麻烦
RT 暂时不想写。。。
XML与DTD - 简单示例(咋个办呢 zgbn)
XML与DTD - 简单示例在项目开发中,会有很多时候使用的XML文件自定义一些配置文件,但是对于xml的标签的命名规则如果没有好的约束的话,在后期修改的时候就会发生麻烦的问题。呵呵,起始在我们编写XML文件的是利用上DTD的话,就会好的多了。不多少说,看看下面的简单的代码,然后自己亲自体验一下就会知道了。<?xml version="1.0" encoding="UTF-8"?> <!-- 约束X
CentOS中安装软件的3种方法及各自优缺点
安装方法1使用rpm安装包的方式RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装相比其他安装方法,优点如下:自动处理了各种软件包可能的依赖关系便于管理,使用rpm命令包可以轻松进行安装、升级、卸载等操作自动生成默认配置,相比使用tar.gz免安装包的方式来说,更加简单便捷,容错率更高...
横竖屏解决办法
Activity横竖屏切换的时候会重新onCreate,如果不想重装载,需要以下设置: 在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入 android:screenOrientation=”landscape” 属性,然后不管怎么切换都只是一样的屏幕。 参数说明: landscape = 横向 portrait = 纵向 避免在转屏时重启Act...
modelAndView在sping MVC框架下的使用
在 spring 框架的控制器中,我们经常在事件处理时想返回处理对象和实现重定向跳转,平时可能经常是在 control 里直接返回对象甚至是String,但如果是多个对象的话或者还需要重定向的话就麻烦了,使用 modelAndView 就可以变得非常轻松。     modelAndView 表示的就是 MVC模式中的 model 和 view,方便一次返回我们想要的 model 和 view 对象
CentOS软件安装血泪经验
用CentOS也有半年多了,总结一下CentOS下软件安装的经验教训。往往有些软件在默认的源下面通过yum install这样的方式无法安装,因为centos是rhel编译过来的,去掉了所有关于版权问题的东西,就比如像mplayer这样的播放软件,开发社区提供的repositor
SpringData Jpa、Hibernate、Jpa之间的关系
JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服务厂商来提供实现,JBoss应用服务器底层就以Hibernate作为JPA的实现。既然JPA作为一种规范——也就说JPA规范中提供的只是一些接口,显然接口不能直接拿来使用。虽然应用程序可以面向接口编程,但JPA底层一定需要某种JPA实现,否则JP...
latex输入公式排版
当我们输入的公式较长时,最容易想到的方法是,在会出现越界的情况,使用强制换行\\,但是这种方法在公式中行不通。 通常,我们行间公式的换行可使用split 环境来实现。如 \[ \begin{split} x &= \sqrt {1-y^2}\\ x &= \sqrt[3]{1-y^3} \end{split} \]
spark解析csv文件,存入数据库
csv文件用java太麻烦了,spark很简单,简单到怀疑人生
求解非约束优化问题的拟牛顿方法(BFGS、DFP)
求解非约束优化问题的拟牛顿方法(BFGS、DFP) 拟牛顿法是一种以牛顿法为基础设计的,求解非线性方程组或连续的最优化问题函数的零点或极大、极小值的算法。当牛顿法中所要求计算的雅可比矩阵或Hessian矩阵难以甚至无法计算时,拟牛顿法便可派上用场。 数学原理 考虑模型问题 最小化之,可得拟牛顿步长: 那么,新的迭代为: 问题是,这里的αkαk\alpha_k 和...