您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase第一季学习笔记-双色球计算器
发布时间:2017-06-25 16:12:20编辑:雪饮阅读()
import java.util.Random;
import java.util.Scanner;
/*
应用案例之:模拟双色球彩票程序
实现步骤:
1,系统生成一个篮球和6个红球,并存储起来
2、接收用户选号,1个篮球和6个红球
3验证系统号码和用户号码是否匹配
4公布本期中奖号码
*/
public class helloWorld{
public static void main(String[] args){
int sysBlueBallNum;//系统生成的篮球号
int[] sysRedBallNum=new int[6];//系统生成的红球号
int userBlueBallNum;//用户选择的红球号
int[] userRedBallNum=new int[6];//用户选择的红球号
Random r=new Random();//创建生成随机数的工具类
Scanner input=new Scanner(System.in);
int[] redNum={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
int blueBall=0;//记录篮球号码是否正确
int redBallCount=0;//记录红球正确的数量
sysBlueBallNum=r.nextInt(16)+1;//从0-16中产生随机数+1,如果不加1就可能导致0被产生
for(int i=0;i<sysRedBallNum.length;i++){
//while true造成死循环,但可以在其内部控制是否终止循环
while(true){
//获取随机下标
int index=r.nextInt(33);
//判断所获取的下标是否重复,以0作为每次生成的随机数后索引的占位符来判断
if(redNum[index]!=0){
sysRedBallNum[i]=redNum[index];
redNum[index]=0;
break;
}
}
}
System.out.println("双色球选号开始。。。");
System.out.println("请选择篮球号码,16选择1:");
//存储用户输入的篮球
userBlueBallNum=input.nextInt();
if(userBlueBallNum<=0 || userBlueBallNum>16){
System.out.println("只能16选择1:");
System.exit(0);
}
//存储用户输入的红球
for(int i=0;i<userRedBallNum.length;i++){
System.out.println("请选择第"+(i+1)+"个红球号码:");
userRedBallNum[i]=input.nextInt();
if(userRedBallNum[i]<=0 || userRedBallNum[i]>33){
System.out.println("只能1-33选择:");
System.exit(0);
}
}
//验证篮球匹配
if(userBlueBallNum==sysBlueBallNum){
blueBall=1;
}
//验证红球
for(int i=0;i<userRedBallNum.length;i++){
for(int j=0;j<sysRedBallNum.length;j++){
if(userRedBallNum[i]==sysRedBallNum[j]){
redBallCount++;
}
}
}
//判断中奖
if(blueBall==1 && redBallCount==6){
System.out.println("恭喜你,中了一等奖500W");
}
else if(redBallCount==6){
System.out.println("恭喜你,中了二等奖");
}
else if(redBallCount==5 && blueBall==1){
System.out.println("恭喜你,中了三等奖,3000元");
}
else if(redBallCount==4 || (blueBall==1 && redBallCount==4)){
System.out.println("恭喜你,中了四等奖,200元");
}
else if(redBallCount==4 || (blueBall==1 && redBallCount==3)){
System.out.println("恭喜你,中了五等奖,10元");
}
else if(blueBall==1){
System.out.println("恭喜你,中了六等奖,5元");
}
else{
System.out.println("最差奖,送女友一枚!");
}
//公布中奖结果
System.out.println("本期中奖号码为:");
System.out.println("红球:");
for(int i=0;i<sysRedBallNum.length;i++){
System.out.print(sysRedBallNum[i]+" ");
}
System.out.println();
System.out.println("篮球:"+sysBlueBallNum);
}
}
关键字词:javase,双色球
下一篇:javase第一季学习笔记