1,第一种用七个输出也可以实现,但是不符合实际需要,就是用两个随机数来生成数字。
2、第二种符合现实逻辑,球的数字是个位数前面需要加0
import java.util.Arrays;
public class ShuangSeQiu {
public static void main(String[] args) {
// int count = 1;
// do {
// int n = (int)(Math.random() *33+1);
// System.out.println("红色:"+n);
// count++;
// } while (count <= 6);
int n1 = (int)(Math.random()*33+1);
int n2 = (int)(Math.random()*33+1);
int n3 = (int)(Math.random()*33+1);
int n4 = (int)(Math.random()*33+1);
int n5 = (int)(Math.random()*33+1);
int n6 = (int)(Math.random()*33+1);
if(n1 != n2 && n2!=n3 & n3!=n4 && n4!=n5 && n5!=n6) {
System.out.println("红色:"+n1);
System.out.println("红色:"+n2);
System.out.println("红色:"+n3);
System.out.println("红色:"+n4);
System.out.println("红色:"+n5);
System.out.println("红色:"+n6);
}
int m1=(int)(Math.random() *16+1);
System.out.println("蓝色:"+m1);
System.out.println("---------------------------");
//
//
// }
// int arr[]=new int[6];
// boolean flag=true;
// for (int i = 0; i <6; i++) {
// int red = (int)(Math.random() *33+1);
// for(int j = 0; j<5; j++) {
// if(red==arr[j]) {
// i--;
// flag=false;
// break;
// }
// }
// if (flag) {
// arr[i] = red;
// }
// }System.out.println("红色:"+Arrays.toString(arr));
//
// int m=(int)(Math.random() *16+1);
// System.out.println("蓝色:"+m);
/*
* 双色球
33个红球选6个不重复,16个蓝球选1个
*/
String[] redBalls = initBalls(33);
String[] blueBalls = initBalls(16);
System.out.println(Arrays.toString(redBalls));
System.out.println(Arrays.toString(blueBalls));
//定义一个数组,存储33个false
boolean[] flags = new boolean[redBalls.length];
//选6个红球
String[] reds = new String[6];
for(int i=0;i<reds.length;i++) {
int index;
do {
//产生一个[0,32]之间的随机数充当下标
index = (int)(Math.random()*redBalls.length);//硬编码
}while(flags[index]);
//根据下标去红球池取球
reds[i] = redBalls[index];
//修改标识位
flags[index] = true;
}
System.out.println("红球:"+Arrays.toString(reds));
//随机产生[0,15]之间的整数充当下标
String blue = blueBalls[(int)(Math.random()*blueBalls.length)];
System.out.println("蓝球:"+blue);
}
/**定义一个函数,传入整数n,生成有n个球的球池*/
public static String[] initBalls(int n) {
String[] balls = new String[n];
for(int i=0;i<n;i++) {
balls[i] = i<9?"0"+(i+1):""+(i+1);
}
return balls;
}
}
运行结果如下