利用多层for循环嵌套来实现双色球的选择问题
/* 双色球的规则
-
1、从键盘上输入六个红球存储在容器当中
-
2、球号的大小必须在1-32之间
-
3、输入的球号不能和已经存在数组当中的球号存在
-
4、蓝球 1-15之间
-
- 随机产生六个红球存储在容器当中
-
1、球号的大小必须在1-32之间
-
2、输入的球号不能和已经存在数组当中的球号存在
-
2、蓝球 1-15之间
-
然后在比较输入红球和产生的红球相等的有哪些 已经蓝球是否相同
public static void main(String[] args) { Scanner sc=new Scanner(System.in); int [] arr=new int[6]; x:for(int i=0;i<6;i++){ System.out.println("请输入第"+(i+1)+"红球号"); int a=sc.nextInt(); if(a>0 && a<33){ arr[i]=a; for(int j=0;j<i;j++){ int b=arr[j]; if(a==b){ System.out.println("输入号码与之前的号相同,重输"); i=i-1; continue x; } } } else{ System.out.println("输入的号不符合规则,重输"); i=i-1; } } //开始输蓝球号 int [] arr1=new int[1]; System.out.println("请输入蓝球号码"); for(int k=0;k<1;k++){ int b=sc.nextInt(); if(b>0 && b<=15){ arr1[0]=b; } else{ System.out.println("蓝球号码不符规则,重输"); k=k-1; } } System.out.println("输入号码为:"); System.out.print("输的红色号码为"+Arrays.toString(arr) ); System.out.println("输的蓝色号码为"+Arrays.toString(arr1)); //开始电脑摇红球号。 int [] arr2=new int[6]; for(int m=0;m<6;m++){ //System.out.println("产生的第"+(m+1)+"红球号为"); double c=Math.random(); c=c*32+1; int d=(int)c; arr2[m]=d; y:for(int n=0;n<m;n++){ int e=arr2[n]; if(e==d){ System.out.println("产生了重复数字,马上重新产生"); m=m-1; continue y; } } } //开产生蓝球号。 int [] arr3=new int[1]; //System.out.println("产生的蓝球号为"); double f=Math.random(); f=f*15+1; int g=(int)f; arr3[0]=g; System.out.print("产生的红色号码为"+Arrays.toString(arr2) ); System.out.println("产生的蓝色号码为"+Arrays.toString(arr3)); //开始判断获得奖的情况。 int p=0; int q=0; for(int i=0;i<arr.length;i++){ for(int m=0;m<arr2.length;m++){ if(arr[i]==arr2[m]){ p=p+1; } } } if(arr1[0]==arr3[0]){ q=q+1; } if(p==6 && q==1){ System.out.println("一等奖"); } else if(p==6 && q==0){ System.out.println("二等奖"); } else if(p==5 && q==1){ System.out.println("三等奖"); } else if((p==5 && q==0) || (p==4 && q==1)){ System.out.println("四等奖"); } else if((p==4 && q==0) || (p==3 && q==1)){ System.out.println("五等奖"); } else if((p==2 && q==1) || (p==1 && q==1) || (p==0 && q==1)){ System.out.println("六等奖"); } else{ System.out.println("未中奖"); } } }