题目:
分析:
1.随机生成中奖号码
2.用户输入自己的号码
3.判断用户输入号码的红球、蓝球中奖的个数
4.根据红球、蓝球中奖个数判断用户的中奖情况
代码:
package com.itheima;
import java.util.Random;
import java.util.Scanner;
public class test09_shuangsheqiu {
public static void main(String[] args) {
//分析
//红色号码不能重复
//蓝色号码可以跟红色重复
//1.生成中奖号码
int[] creatnumber=creatnumber();
System.out.println("中奖号码:");
for (int i = 0; i < creatnumber.length; i++) {
System.out.print(creatnumber[i]+" ");
}
//换行
System.out.println("\n");
//2.用户输入号码
int[] userinputnumber=userinputnumber();
for (int i = 0; i < userinputnumber.length; i++) {
System.out.print(userinputnumber[i]+" ");
}
System.out.println("\n");
//3.中奖情况
int[] zjqk=zjqk(creatnumber,userinputnumber);
for (int i = 0; i < zjqk.length; i++) {
System.out.print(zjqk[i]+" ");
}
System.out.println("\n");
//4.获得的奖金
jjfp(zjqk);
}
//生成中奖号码
public static int[] creatnumber(){
//定义一个数组,表示中奖号码
int[] arr=new int[7];
Random r =new Random();
//定义一个循环,表示生成6个红色中奖号码
for (int i = 0; i < arr.length-1;) {
//生成一个范围在(1,33)的红色随机号码
int rednumber=r.nextInt(33)+1;
boolean flag=bcf(arr,rednumber);
//判断是否重复,
if(!flag){
//不存在
//不重复,可以填充
arr[i]=rednumber;
i++;
}
}
//随机生成蓝色随机号码
int bluenumber=r.nextInt(16)+1;
arr[arr.length-1]=bluenumber;
return arr;
}
//用户输入号码
public static int[] userinputnumber(){
int[] arr=new int[7];
Scanner sc=new Scanner(System.in);
//红球
//定义一个循环,表示键盘录入6个红球号码
for (int i = 0; i < arr.length-1; ) {
System.out.println("请输入第"+(i+1)+"个红球号码");
//键盘录入
int rednumber =sc.nextInt();
//判断范围与是否重复
if(rednumber>=1&&rednumber<=33){
//判断是否重复
boolean flag=bcf(arr,rednumber);
if(!flag){
arr[i]=rednumber;
i++;
}else {
System.out.println("输入的号码重复,请重新输入");
}
}else {
System.out.println("输入的号码超出范围,请重新输入");
}
}
//蓝球
System.out.println("请输入蓝球号码");
int bluenumber=sc.nextInt();
arr[arr.length-1]=bluenumber;
return arr;
}
//中奖情况
public static int[] zjqk(int[] creatnumber,int[] userinputnumber){
//定义一个数组,储存中奖情况
int[] arr=new int[2];
//红球
//循环判断用户输入的号码是否中奖
for (int i = 0; i < userinputnumber.length-1;i++) {
boolean flag=bcf(creatnumber,userinputnumber[i]);
if(flag){
arr[0]++;
}
}
//蓝球
if(userinputnumber[userinputnumber.length-1]==creatnumber[creatnumber.length-1]){
arr[1]=1;
}
return arr;
}
//奖金分配
public static void jjfp(int[] zjqk){
if((zjqk[0]==0||zjqk[0]==1||zjqk[0]==2)&&zjqk[1]==1){
System.out.println("恭喜你获得六等奖,5元");
}else if((zjqk[0]+zjqk[1])==4){
System.out.println("恭喜你获得五等奖,10元");
}else if((zjqk[0]+zjqk[1])==5){
System.out.println("恭喜你获得四等奖,200元");
}else if(zjqk[0]==5&&zjqk[1]==1){
System.out.println("恭喜你获得三等奖,3000元");
}else if(zjqk[0]==6&&zjqk[1]==0){
System.out.println("恭喜你获得二等奖,最高500万");
}else if(zjqk[0]==6&&zjqk[1]==1){
System.out.println("恭喜你获得一等奖,最高1000万");
}else {
System.out.println("很遗憾,你没有获奖");
}
}
//判断是否重复
public static boolean bcf(int arr[],int number){
//用于判断红球号码是否重复
for (int i = 0; i < arr.length-1; i++) {
if(arr[i]==number){
return true;
}
}
return false;
}
}
运行结果:
中奖号码:
11 4 15 17 9 30 1
请输入第1个红球号码
1
请输入第2个红球号码
2
请输入第3个红球号码
3
请输入第4个红球号码
4
请输入第5个红球号码
5
请输入第6个红球号码
6
请输入蓝球号码
7
1 2 3 4 5 6 7
1 0
很遗憾,你没有获奖