java随机数(模拟双色球小程序)
2017-01-13 15:54
351 查看
具体实现代码如下:
用hashset集合添加不重复随机数
public final class TsetHashSet {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
TsetHashSet test=new TsetHashSet();
while(true)
{
System.out.println("请输入随机的注数:");
int p=sc.nextInt();
if(p<=0)
break;
int s=0;
while(true)
{
test.selectbull();
s++;
if(s==p) {
break;
}
}
}
}
public String selectbull(){
HashSet<Integer> set=null;
Iterator<Integer> iterator=null;
int max=33;
int max2=16;
set=new HashSet<Integer>();
int[] arr=new int[7];
while(true){
set.add(new Random().nextInt(max)+1);
if(set.size()>=6)
break;
}
arr[6]=new Random().nextInt(max2)+1;
iterator=set.iterator();
int s=0;
while(iterator.hasNext())
{
arr[s]=iterator.next();
s++;
}
for (int i = 0; i < arr.length-1; i++) {
for (int j = i; j < arr.length-1; j++) {
if(arr[j]<arr[i] ){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
String str="";
for (int i = 0; i < arr.length-1; i++) {
if(arr[i]<10){
str+="0"+arr[i]+" ";
}else{
str+=arr[i]+" ";
}
}
String str2=str.substring(0,str.length()-1);
if(arr[6]<10)str2+=" "+"0"+arr[6];
else str2+=" "+arr[6];
System.out.println(str2);
set=new HashSet<Integer>();
return str2;
}
}
输出结果例如: 01 07 13 27 31 33 11
用hashset集合添加不重复随机数
public final class TsetHashSet {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
TsetHashSet test=new TsetHashSet();
while(true)
{
System.out.println("请输入随机的注数:");
int p=sc.nextInt();
if(p<=0)
break;
int s=0;
while(true)
{
test.selectbull();
s++;
if(s==p) {
break;
}
}
}
}
public String selectbull(){
HashSet<Integer> set=null;
Iterator<Integer> iterator=null;
int max=33;
int max2=16;
set=new HashSet<Integer>();
int[] arr=new int[7];
while(true){
set.add(new Random().nextInt(max)+1);
if(set.size()>=6)
break;
}
arr[6]=new Random().nextInt(max2)+1;
iterator=set.iterator();
int s=0;
while(iterator.hasNext())
{
arr[s]=iterator.next();
s++;
}
for (int i = 0; i < arr.length-1; i++) {
for (int j = i; j < arr.length-1; j++) {
if(arr[j]<arr[i] ){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
String str="";
for (int i = 0; i < arr.length-1; i++) {
if(arr[i]<10){
str+="0"+arr[i]+" ";
}else{
str+=arr[i]+" ";
}
}
String str2=str.substring(0,str.length()-1);
if(arr[6]<10)str2+=" "+"0"+arr[6];
else str2+=" "+arr[6];
System.out.println(str2);
set=new HashSet<Integer>();
return str2;
}
}
输出结果例如: 01 07 13 27 31 33 11
相关文章推荐
- java 随机数 模拟双色球开奖
- java简单实现双色球彩票模拟实例(数组、排序、方法、随机数、键盘输入)
- java模拟双色球彩票程序
- Java小程序:模拟双色球开奖
- 利用JAVA写一段上传文件程序(模拟Ftp客户端)
- 模拟双色球摇奖程序
- java模拟系统进程算法的小程序
- java模拟系统进程算法的小程序
- 用java模拟写字板程序
- java模拟双色球统计红球篮球出号
- 用java模拟写字板程序
- 用java模拟浏览器程序
- java多线程 模拟死锁程序
- JAVA--第十周之红绿灯的模拟程序
- 使用java程序模拟页面发送http的post请求
- 【分享】JAVA 制作的模拟水波的程序
- java模拟银行交易系统程序
- 用java写的程序:1-100随机数相加
- 双色球Java模拟
- JAVA第九周任务1.编写一个模拟用户帐户的程序