
import java.util.Random;
import java.util.Scanner;
public class shuangseqiu {
public static void main(String[] args){
int[] lucknumbers=new int[7];
//调用函数生成幸运号码
lucknumbers=creatluckycode();
//提示用户输入号码,并存入数组
int[] usernumbers=new int[7];
usernumbers=getnusercode();
//输出幸运号码
System.out.println("本期幸运号码是:");
outputArray(lucknumbers);
//输出用户录入的号码
outputArray(usernumbers);
//判断用户中奖情况并输出结果
judgeuesr(lucknumbers,usernumbers);
}
//主函数
public static int[] creatluckycode(){
//生成6个不重复的红球号码
int[] number=new int[7];
Random r=new Random();
for (int i = 0; i < number.length-1; i++) {
while (true){
int data= r.nextInt(33)+1;//注意:设定生成随机数的范围
boolean flag=true;
for (int j = 0; j < i; j++) {
if (data==number[j]){
flag=false; //重复 这个随机数不可用
break;
}
}
if (flag){
number[i]=data;
break;
}
//易错点:注意break所在的层次!!!!
}
}
//生成一个蓝球号码
int bluedata= r.nextInt(16)+1;
number[number.length-1]=bluedata;
return number;
}
public static int[] getnusercode(){
Scanner sc=new Scanner(System.in);
int[] number=new int[7];
//录入红球号码
for (int i = 0; i < number.length-1; i++) {
System.out.println("请您输入第"+(i+1)+"个红球号码,范围在1-33");
number[i]=sc.nextInt();
}
//录入蓝球号码
System.out.println("请输入篮球号码,范围在1-16");
number[number.length-1]= sc.nextInt();
return number;
}
public static void outputArray(int[] array){
System.out.print("[");
for (int i = 0; i < array.length-1; i++) {
System.out.print(array[i]+", ");
}
System.out.print(array[array.length-1]);
System.out.println("]");
}
public static void judgeuesr(int[]luckycode,int[]usercode){
//判断红球命中数量
int redhitaccount=0;
for (int i = 0; i < usercode.length-1; i++) {
for (int j = 0; j < luckycode.length-1; j++) {
if (usercode[i]==luckycode[j]){
redhitaccount+=1;
}
}
}
//判断蓝球命中数量
int bluehitaccount=luckycode[luckycode.length-1]==usercode[usercode.length-1]?1:0;
//中奖情况判断
if(bluehitaccount==1&&redhitaccount<3){
System.out.println("您获得五元小奖。");
}else if (bluehitaccount==1&&redhitaccount==3||bluehitaccount==0&&redhitaccount==4){
System.out.println("恭喜你获得十元小奖。");
}else if (bluehitaccount==1&&redhitaccount==4||bluehitaccount==0&&redhitaccount==5){
System.out.println("恭喜你获得两百元!");
}else if (bluehitaccount==1&&redhitaccount==5){
System.out.println("恭喜你获得三千元!!!");
}else if (bluehitaccount==0&&redhitaccount==6){
System.out.println("你获得500万大奖!");
}else if (bluehitaccount==1&&redhitaccount==6){
System.out.println("你活得一千万大奖!");
}else {
System.out.println("很遗憾,未中奖。");
}
}
}
在本次练习中注意利用while(true)死循环,并且注意break的层次。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)