admin管理员组

文章数量:1130349

java实现双色球系统

题目描述:

 思路分析:

1.首先要定义一个方法生成7位随机数字的中奖号码

2.然后定义一个方法来获取用户输入的7位号码

3.再定义一个方法来判断中奖情况

4.定义一个方法将中奖号码和用户投注号码打印出来 

package Lq_project;import java.util.Random;
import java.util.Scanner;//java实现双色球系统开发
public class Demo03 {//随机6个红球号码(1-33,不能重复),随机1个蓝球号码(1-16),可以采用数组形式组装起来作为中奖号码public static void main(String[] args) {//幸运号码int[] luckyNumbers=createLuckyNum();//投注号码int[] userNumbers=userInputNum();//判断中奖情况judge(luckyNumbers, userNumbers);}//定义一个方法打印出数组public static void printArray(int[] arr) {for(int i=0;i<arr.length;i++) {System.out.print(arr[i]+" ");}System.out.println();}//判断中奖情况public static void judge(int[] luckyNumbers,int[] userNumbers) {int redNumber=0;int blueNumber=0;//判断红球for(int i=0;i<userNumbers.length-1;i++) {for(int j=0;j<luckyNumbers.length-1;j++) {//利用循环嵌套判断中奖中的号码和投注的号码有几个一样的红球if(userNumbers[i]==luckyNumbers[j]) {redNumber++;}}}//判断蓝球blueNumber=userNumbers[6]==luckyNumbers[6]?1:0;//打印出中奖号码System.out.println("中奖号码是:");printArray(luckyNumbers);//打印出投注号码System.out.println("您投注的号码是:");printArray(userNumbers);//红球System.out.println("您命中了几个红球:"+redNumber);//蓝球System.out.println("您是否命中了蓝球:"+(blueNumber==1?"是":"否"));//判断中奖情况if(blueNumber==1&&redNumber<3) {System.out.println("恭喜您,中了5元小奖");}else if(blueNumber==1&&redNumber==3||blueNumber==0&&redNumber==4) {System.out.println("恭喜您,中了10元小奖");}else if(blueNumber==1&&redNumber==4||blueNumber==0&&redNumber==5) {System.out.println("恭喜您,中了200元");}else if(blueNumber==1&&redNumber==5) {System.out.println("恭喜您,中了3000元小奖");}else if(blueNumber==0&&redNumber==6) {System.out.println("恭喜您,中了500万元大奖");}else if(blueNumber==1&&redNumber==6) {System.out.println("恭喜您,中了1000万元大奖");}else {System.out.println("不好意思,您未中奖");}}//定义一个方法生成7位数字的中奖号码public static int[] createLuckyNum() {//1.定义一个动态初始化的数组,储存7个数字int[] number=new int[7];//2.遍历数组(注意:遍历前6个位置,因为第7个位置是蓝球,生成6个不重复的红球号码,范围是1-33)Random r=new Random();for(int i=0;i<number.length-1;i++) {//这里有个死循环是因为我们要不断找出1-33之间没有重复出现的数字while(true) {int num1=r.nextInt(33)+1;//3.这里要判断当前随机生成的这个号码是否在之前出现过,如果出现过则要重新随机一个,直到不重复为止,才可以存到数组中去//[12,36,12,0,0,0, |, 0]//		  i,这里i的位置重复出现12,那我们需要遍历i之前的元素查找是否出现过12boolean flag=true;//判断是否是重复的,默认设置为没有重复for(int j=0;j<i;j++) {//判断该数字在之前有没有出现过if(number[j]==num1) {flag=false;break;}}if(flag) {//flag则代表当前数字在之前没有出现过,即没有重复出现,则可以存到数组中去number[i]=num1;break;}}}//4.为第7个位置生成一个1-16的号码作为蓝球号码number[number.length-1]=r.nextInt(16)+1;return number;}//定义一个方法用于用户输入7位号码,作为用户选号public static int[] userInputNum() {int[] number=new int[7];Scanner sc=new Scanner(System.in);//1.用户录入6个红球号码for(int i=0;i<number.length-1;i++) {System.out.println("请您输入第"+(i+1)+"个红球号码(1-33,不能重复):");int data=sc.nextInt();//把当前录入的数据存到数组中去number[i]=data;}//2.单独录入第7个蓝球号码System.out.println("请您录入第7个蓝球号码(1-16):");number[number.length-1]=sc.nextInt();return number;}
}

示例:

 运行结果示例:

 

java实现双色球系统

题目描述:

 思路分析:

1.首先要定义一个方法生成7位随机数字的中奖号码

2.然后定义一个方法来获取用户输入的7位号码

3.再定义一个方法来判断中奖情况

4.定义一个方法将中奖号码和用户投注号码打印出来 

package Lq_project;import java.util.Random;
import java.util.Scanner;//java实现双色球系统开发
public class Demo03 {//随机6个红球号码(1-33,不能重复),随机1个蓝球号码(1-16),可以采用数组形式组装起来作为中奖号码public static void main(String[] args) {//幸运号码int[] luckyNumbers=createLuckyNum();//投注号码int[] userNumbers=userInputNum();//判断中奖情况judge(luckyNumbers, userNumbers);}//定义一个方法打印出数组public static void printArray(int[] arr) {for(int i=0;i<arr.length;i++) {System.out.print(arr[i]+" ");}System.out.println();}//判断中奖情况public static void judge(int[] luckyNumbers,int[] userNumbers) {int redNumber=0;int blueNumber=0;//判断红球for(int i=0;i<userNumbers.length-1;i++) {for(int j=0;j<luckyNumbers.length-1;j++) {//利用循环嵌套判断中奖中的号码和投注的号码有几个一样的红球if(userNumbers[i]==luckyNumbers[j]) {redNumber++;}}}//判断蓝球blueNumber=userNumbers[6]==luckyNumbers[6]?1:0;//打印出中奖号码System.out.println("中奖号码是:");printArray(luckyNumbers);//打印出投注号码System.out.println("您投注的号码是:");printArray(userNumbers);//红球System.out.println("您命中了几个红球:"+redNumber);//蓝球System.out.println("您是否命中了蓝球:"+(blueNumber==1?"是":"否"));//判断中奖情况if(blueNumber==1&&redNumber<3) {System.out.println("恭喜您,中了5元小奖");}else if(blueNumber==1&&redNumber==3||blueNumber==0&&redNumber==4) {System.out.println("恭喜您,中了10元小奖");}else if(blueNumber==1&&redNumber==4||blueNumber==0&&redNumber==5) {System.out.println("恭喜您,中了200元");}else if(blueNumber==1&&redNumber==5) {System.out.println("恭喜您,中了3000元小奖");}else if(blueNumber==0&&redNumber==6) {System.out.println("恭喜您,中了500万元大奖");}else if(blueNumber==1&&redNumber==6) {System.out.println("恭喜您,中了1000万元大奖");}else {System.out.println("不好意思,您未中奖");}}//定义一个方法生成7位数字的中奖号码public static int[] createLuckyNum() {//1.定义一个动态初始化的数组,储存7个数字int[] number=new int[7];//2.遍历数组(注意:遍历前6个位置,因为第7个位置是蓝球,生成6个不重复的红球号码,范围是1-33)Random r=new Random();for(int i=0;i<number.length-1;i++) {//这里有个死循环是因为我们要不断找出1-33之间没有重复出现的数字while(true) {int num1=r.nextInt(33)+1;//3.这里要判断当前随机生成的这个号码是否在之前出现过,如果出现过则要重新随机一个,直到不重复为止,才可以存到数组中去//[12,36,12,0,0,0, |, 0]//		  i,这里i的位置重复出现12,那我们需要遍历i之前的元素查找是否出现过12boolean flag=true;//判断是否是重复的,默认设置为没有重复for(int j=0;j<i;j++) {//判断该数字在之前有没有出现过if(number[j]==num1) {flag=false;break;}}if(flag) {//flag则代表当前数字在之前没有出现过,即没有重复出现,则可以存到数组中去number[i]=num1;break;}}}//4.为第7个位置生成一个1-16的号码作为蓝球号码number[number.length-1]=r.nextInt(16)+1;return number;}//定义一个方法用于用户输入7位号码,作为用户选号public static int[] userInputNum() {int[] number=new int[7];Scanner sc=new Scanner(System.in);//1.用户录入6个红球号码for(int i=0;i<number.length-1;i++) {System.out.println("请您输入第"+(i+1)+"个红球号码(1-33,不能重复):");int data=sc.nextInt();//把当前录入的数据存到数组中去number[i]=data;}//2.单独录入第7个蓝球号码System.out.println("请您录入第7个蓝球号码(1-16):");number[number.length-1]=sc.nextInt();return number;}
}

示例:

 运行结果示例:

 

本文标签: java实现双色球系统