案例:/* 双色球的规则
* 1、从键盘上输入六个红球存储在容器当中
* 1、球号的大小必须在1-32之间
* 2、输入的球号不能和已经存在数组当中的球号存在
* 2、篮球 1-15之间
3.开奖
4.得出中了几等奖.
通过这个练习能够把循环结构以及if语句灵活的结合运用,并且穿插了Scanner以及
Math.random的运用
public static void main(String [] args){
Scanner sc=new Scanner(System.in);//建一个键盘扫描器
int [] hong=new int [6];
for(int i=0;i<hong.length;i++){
System.out.println("请输入第"+(i+1)+"个号码");
int n=sc.nextInt();
if(n>=1 && n<=32){
for(int j=0;j<i;j++){
if(hong[j]==n){
System.out.println("号码与前面号码重复,请重新输入");
i--;
break;
}
}
}else{
System.out.println("号码不符合规则,请重新输入");
i--;
continue;
}
hong[i]=n;
}
//蓝色号码
int [] lan=new int[1];
System.out.println("请输入蓝色号码");
while(true){int m=sc.nextInt();
if(m>=1&& m<=32){
lan[0]=m;
break;
}else{
System.out.println("输入号码不合规则,请重新输入");
}
}
System.out.println("选中的 红色号码:"+Arrays.toString(hong));
System.out.println("选中的蓝色号码:"+Arrays.toString(lan));
//机器选择号码;机器选择要运用到Math.random
int [] jiqihong=new int[6];//创建一个机器接收号码的数组
for(int i1=0;i1<jiqihong.length;i1++){
double n11=Math.random();
int n1=(int)(n11*32+1);
if(n1>=1 && n1<=32){
for(int j1=0;j1<i1;j1++){
if(jiqihong[j1]==n1){
i1--;
break;
}
}
}else{
i1--;
continue;
}
jiqihong [i1]=n1;
}
System.out.println("本期红色号码:"+Arrays.toString(jiqihong));
//电脑打印蓝球
double m11=Math.random();
int m1=(int)(m11*15+1);
int [] diannaolan=new int [1];
diannaolan[0]=m1;
System.out.println("本期蓝色号码:"+Arrays.toString(diannaolan));
//比较有哪些球相同 红球,蓝球
//红球
int sum=0;
for(int x=0;x<hong.length;x++){
int x1=hong[x];
int sum1=0;
for(int y=0;y<jiqihong.length;y++){
int y1=jiqihong[y];
if(x1==y1){
sum1++;
break;
}
}
sum+=sum1;
}
System.out.println("红球相同个数 "+sum);
//蓝球
int num;
if(lan[0]==diannaolan[0]){
num=1;
}else{
num=0;
}
System.out.println("蓝球相同个数 "+num);
//打印中奖信息
if(num==1&& sum==6){
System.out.println("恭喜你!中了一等奖");
}else if(num==0&& sum==6){
System.out.println("恭喜你!中了二等奖");
}else if(num==1&& sum==5){
System.out.println("恭喜你!中了三等奖");
}else if(num==1&& sum==4 ||num==0&& sum==5 ){
System.out.println("恭喜你!中了四等奖");
}else if(num==1&& sum==3 ||num==0&& sum==4){
System.out.println("恭喜你!中了五等奖");
}else if(num==1&& sum==2 ||num==1&& sum==1 ||num==1&& sum==0){
System.out.println("恭喜你!中了六等奖");
}else{
System.out.println("很遗憾,你没有中奖");
}
}
运行结果:
请输入第1个号码
1
请输入第2个号码
2
请输入第3个号码
3
请输入第4个号码
4
请输入第5个号码
5
请输入第6个号码
6
请输入蓝色号码
7
选中的 红色号码:[1, 2, 3, 4, 5, 6]
选中的蓝色号码:[7]
本期红色号码:[3, 19, 6, 29, 31, 14]
本期蓝色号码:[7]
红球相同个数 2
蓝球相同个数 1
恭喜你!中了六等奖