• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

彩票号码生成程序代码

发布: 2007-7-04 13:34 | 作者: admin | 来源:  网友评论 | 查看: 94次 | 进入软件测试论坛讨论

领测软件测试网
import java.io.*;
import java.lang.*;

public class GetLotteryNumber{
public static int[] LotteryNumber=new int[7];
public static int temp=0;
static int temp1=0;
public static void main(String[] args){
if(args.length==0){
System.out.print("彩票号码为:");
OutputLotteryNumber();
}else{
try{
temp1=Integer.parseInt(args[0]);
}catch(Exception e){
System.out.println("ERROR:"+e.getMessage());
}
if(temp1>99999){temp1=999999;System.out.println("请注意!每次最多只能产生999999组彩票号码。");}

for(int i=0;i<temp1;i++){
System.out.print("第"+(int)(i+1)+"组彩票号码为: ");
OutputLotteryNumber();
System.out.println();
}
}
}

public static void OutputLotteryNumber(){
LotteryNumberTheard[] Lottery=null;
Random random;
long tempTime;
for(int j=0;j<LotteryNumber.length;j++){
try{
Lottery[j]=new LotteryNumberTheard(j);
random=new Random(java.lang.System.currentTimeMillis()%197807);
tempTime=random.nextInt((int)(java.lang.System.currentTimeMillis()%793));
Lottery[j].sleep(tempTime);
}catch(Exception e){
}
}

for(int j=0;j<LotteryNumber.length-1;j++)//排序
for(int i=j+1;i<LotteryNumber.length;i++)
if(LotteryNumber[j]>LotteryNumber[i]){
temp=LotteryNumber[j];
LotteryNumber[j]=LotteryNumber[i];
LotteryNumber[i]=temp;
}

/**
System.out.print("未整理前的号码:");
for(int j=0;j<LotteryNumber.length;j++)
System.out.print(LotteryNumber[j]+" ");
System.out.println();
**/

//排除重复的数字,并产生新的数字
int er=0;
int flag=0;
while(er<7){
flag=0;
temp=LotteryNumber[er];

for(int i=0;i<LotteryNumber.length-1;i++){
if(temp==LotteryNumber[i]&&er!=i){
temp=CreateLotterNumber();
flag=1;
break;
}
}
if(flag==0) {
er+=1;
}else{
LotteryNumber[er]=temp;
}
}
// end

for(int j=0;j<LotteryNumber.length-1;j++) //重新排序
for(int i=j+1;i<LotteryNumber.length;i++)
if(LotteryNumber[j]>LotteryNumber[i]){
temp=LotteryNumber[j];
LotteryNumber[j]=LotteryNumber[i];
LotteryNumber[i]=temp;
}

for(int j=0;j<LotteryNumber.length;j++)
System.out.print(LotteryNumber[j]+"\t");
}

public static int CreateLotterNumber(){
int temp;
Random random1;
random1=new Random(java.lang.System.currentTimeMillis());
temp=(random1.nextInt())%37;

while(temp==0){
random1=new Random(java.lang.System.currentTimeMillis());
temp=(random1.nextInt())%37;
}

temp=temp>0?temp:-1*temp;
return temp;
}

}


class LotteryNumberTheard extends Thread{
GetLotteryNumber GetLottery=new GetLotteryNumber();
Random random;
LotteryNumberTheard(int ArraryNumber){
setLotterNumber(ArraryNumber);
}

public void setLotterNumber(int ArrayNumber){
int ArNumber=ArrayNumber;
int temp;
random=new Random(java.lang.System.currentTimeMillis());
temp=(random.nextInt())%37;

while(temp==0){
random=new Random(java.lang.System.currentTimeMillis());
temp=(random.nextInt())%37;
}

temp=temp>0?temp:-1*temp;
GetLottery.LotteryNumber[ArNumber]=temp;
}
}

使用:
D:\JavaWork>javac GetLotteryNumber.java

D:\JavaWork>java -classpath . GetLotteryNumber
彩票号码为:3 7 9 14 26 32 35
D:\JavaWork>java -classpath . GetLotteryNumber 3
第1组彩票号码为: 5 9 10 13 19 24 36
第2组彩票号码为: 2 4 6 15 25 34 36
第3组彩票号码为: 2 14 21 24 27 30 31

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网