抽奖:随机生成100个数,从中抽出1等奖5个,二等奖分两次抽出10个,三等奖分3次抽出30个 具体的代码,控制台实现就行,随机的100个数,随便100个,抽出的号码不能重复!
2016-05-12 09:25
627 查看
package choujiang;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class wardness {
public static void main(String[] args)
{ // TODO Auto-generated method stub
Random rand = new Random();
//定义随机数产生器
List<Integer> list_One = new ArrayList<Integer>();
//定义一等奖数字集合
List<Integer> list = null;
//用list时
list = new ArrayList<Integer>();
//定义100个随机数 集合
for(int i = 0; i < 100;)
{ //产生100个3位数 的随机不重复数字
if(check(rand.nextInt(899) + 100,list)) { i++; }
//用set时
Set<Integer> set = new HashSet<Integer>();
while(set.size() < 100)
{ set.add(rand.nextInt(899) + 100); }
list = new ArrayList<Integer>(set);
for(int k = 0; k < 5;)
{//产生5个随机一等奖
if(check(rand.nextInt(100),list))
{ k++; } }
for(int a = 0; a < list_One.size();a++)
{ System.out.println(list_One.get(a)); } }
}
/**
验证该数字是否在集合中
@param i *
@param list
@return */
public static boolean check(int i,List<Integer> list)
{ if(list.size() == 0)
{ list.add(i); }
else
{ for(int j = 0; j < list.size(); j++)
{ if(i == list.get(j))
{ return false; } }
list.add(i); }
return true; }
/**
抽取随机数作为中奖的下标(重载)
@param i
@param list
@param list_One
@return */
public static boolean check(int i,List<Integer> list,List<Integer> list_One)
{ if(list.size() == 0)
{ list_One.add(list.get(i)); }
else
{ for(int j = 0; j < list.size(); j++){ if(i == list.get(j))
{ return false; } }
list_One.add(list.get(i)); } return true; }
}
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class wardness {
public static void main(String[] args)
{ // TODO Auto-generated method stub
Random rand = new Random();
//定义随机数产生器
List<Integer> list_One = new ArrayList<Integer>();
//定义一等奖数字集合
List<Integer> list = null;
//用list时
list = new ArrayList<Integer>();
//定义100个随机数 集合
for(int i = 0; i < 100;)
{ //产生100个3位数 的随机不重复数字
if(check(rand.nextInt(899) + 100,list)) { i++; }
//用set时
Set<Integer> set = new HashSet<Integer>();
while(set.size() < 100)
{ set.add(rand.nextInt(899) + 100); }
list = new ArrayList<Integer>(set);
for(int k = 0; k < 5;)
{//产生5个随机一等奖
if(check(rand.nextInt(100),list))
{ k++; } }
for(int a = 0; a < list_One.size();a++)
{ System.out.println(list_One.get(a)); } }
}
/**
验证该数字是否在集合中
@param i *
@param list
@return */
public static boolean check(int i,List<Integer> list)
{ if(list.size() == 0)
{ list.add(i); }
else
{ for(int j = 0; j < list.size(); j++)
{ if(i == list.get(j))
{ return false; } }
list.add(i); }
return true; }
/**
抽取随机数作为中奖的下标(重载)
@param i
@param list
@param list_One
@return */
public static boolean check(int i,List<Integer> list,List<Integer> list_One)
{ if(list.size() == 0)
{ list_One.add(list.get(i)); }
else
{ for(int j = 0; j < list.size(); j++){ if(i == list.get(j))
{ return false; } }
list_One.add(list.get(i)); } return true; }
}
相关文章推荐
- JavaWeb-问题-代理抛出异常
- 多线程06:《疯狂Java讲义》学习笔记——线程通信
- Selenium实现元素的拖拽(java版)
- qt的验证器QValidator
- Java 读取网页简易程序
- C++Builder中__closure关键字的用法
- java解析xml文件(三种方式-(dom ,jdom ,dom4j)
- java 对象序列化
- 在ASP.NET 2.0中操作数据之三十六:在DataList里编辑和删除数据概述
- 【JDK】:Java容器框架
- Eclipse 启动提示java虚拟机启动失败,“Failed to create the Java Virtual Machine”-------解决方法
- JAVA代码发送邮件示例和解释
- struts2 的简单配置总结
- javar日志
- Java之使用json-lib进行对象与json字符串之间的转换
- Python下载指定页面上图片的方法
- C#窗体背景渐变色
- yii2带搜索功能的下拉框实例详解
- java 读文件中文乱码
- Ubuntu10.04下安装Qt4和创建第一个Qt程序