您的位置:首页 > 编程语言 > Java开发

Java学习-----简易双色球彩票游戏

2018-01-10 20:11 393 查看

简易双色球小游戏

思路

-整体实现思路:系统随机值和用户选择值分别设置两个数组,然后将值进行一一比对;

-随机取值不重复算法(系统和用户);

-设置一个数组,系统随机取值,取到一个值,就将设置好的数组中该值设置为-1;

-判断是否中奖,中几等奖的逻辑;

-对结果进行排序输出。

public class Lottery{
public static void main(String[] args){
int[] sysRedBall = new int[6];//系统生成的红球
int sysBlueBall = 0;//系统生成的蓝球;
int[] userRedBall = new int[6];//用户选择的红球
int userBlueBall = 0;
int redCount=0;//选中的红球个数
int blueCount=0;//选中的蓝球个数
Random r = new Random();
int[] redBall = {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 index = 0;
//生成系统号码
for(int i=0;i<sysRedBall.length;i++){
while(true){
index = r.nextInt(33);
if(redBall[index] != -1){
sysRedBall[i] = redBall[index];
redBall[index] = -1;
break;
}
}
}
sysBlueBall = r.nextInt(16)+1;

//接收用户选号
System.out.println("请选择红球号码:(1-33)");
Scanner in = new Scanner(System.in);
for(int i=0;i<userRedBall.length;i++){
userRedBall[i] = in.nextInt();
}
System.out.println("请选择蓝球号码:(1-16)");
userBlueBall = in.nextInt();

//输出结果
for(int i=0;i<sysRedBall.length-1;i++){
for(int j=0;j<sysRedBall.length-1-i;j++){
if(sysRedBall[j]>sysRedBall[j+1]){
int temp = sysRedBall[j];
sysRedBall[j] = sysRedBall[j+1];
sysRedBall[j+1] = temp;
}
}
}
System.out.print("本期红球号码为:");
for(int i=0;i<sysRedBall.length;i++){
System.out.print(sysRedBall[i]+" ");
}
System.out.println();

System.out.print("本期蓝球号码为:");
System.out.println(sysBlueBall);

System.out.print("您选择的红球号码为:");
for(int i=0;i<userRedBall.length-1;i++){
for(int j=0;j<userRedBall.length-1-i;j++){
if(userRedBall[j]>userRedBall[j+1]){
int temp = userRedBall[j];
userRedBall[j] = userRedBall[j+1];
userRedBall[j+1] = temp;
}
}
}
for(int i=0;i<userRedBall.length;i++){
System.out.print(userRedBall[i]+" ");
}
System.out.println();
System.out.println("您选择的蓝球号码为:"+userBlueBall);

//验证是否中奖
for(int i = 0;i<sysRedBall.length;i++){
for(int j=0;j<userRedBall.length;j++){
if(sysRedBall[i]==userRedBall[j]){
redCount++;
break;
}
}
}
if(sysBlueBall == userBlueBall){
blueCount++;
}

//判断是否中奖
if(redCount == 6 && blueCount == 1){
System.out.println("恭喜你,中了一等奖,奖金500万元");
}else if(redCount == 6 && blueCount == 0){
System.out.println("恭喜你,中了二等奖,奖金10万元");
}else if(redCount == 5 && blueCount == 1){
System.out.println("恭喜你,中了三等奖,奖金3000元");
}else if((redCount ==5)||(redCount == 4 && blueCount == 1)){
System.out.println("恭喜你,中了四等奖,奖金200元");
}else if(redCount == 4 || (redCount == 3 && blueCount == 1)){
System.out.println("恭喜你,中了五等奖,奖金10元");
}else if(blueCount ==1){
System.out.println("恭喜你,中了六等奖,奖金5元");
}else{
System.out.println("很遗憾,中奖离你一步之遥");
}
}
}


程序运行图如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: