package Demo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
/*
* 模拟 双色球 彩票机选程序.
双色球规则 : 一共 选 7 个号. 6个红色 , 1 蓝色的
红色球1-33中选6个,号码不能重复. 蓝色球16选1,号码不能重复.
红色 1- 33
蓝色 1- 16
打印出机选结果 . 格式 :
红球: 12,15,18,20,30,33蓝球: 12 .
*/
public class Demo {
public static void main(String[] args) {
int[] arr=new int[33];
//调用向arr数组填充1-33的数字的方法
getArr(arr);
//创建集合 ,并调用方法添加元素
ArrayList<Integer> list=new ArrayList<Integer>();
list=getList(list,arr);
//调用数组遍历方法
//printArr(arr);
//创建彩票数组
int[] newArr=new int[7];
newArr=getNewArr(list,newArr);
//将彩票数组冒泡排序
Arrays.sort(newArr,0,newArr.length-1);
//打印结果
printResult(newArr);
}
//彩票打印结果的方法
public static void printResult(int[] arr){
String str1="红球:";
String str2="篮球:";
for (int i = 0; i < arr.length; i++) {
if(i<arr.length-2){
str1+=arr[i]+",";
}else if(i==arr.length-2){
str1+=arr[i];
}else{
str2+=arr[i]+".";
}
}
System.out.println(str1+str2);
}
//数组向集合的转变
public static ArrayList<Integer> getList(ArrayList<Integer> list,int[] arr){
for (int i : arr) {
list.add(i);
}
return list;
}
//向arr数组填充1-33的数字的方法
public static void getArr(int[] arr){
for(int i=0; i<arr.length; i++){
arr[i]=i+1;
}
}
//遍历数组
public static void printArr(int[] arr){
for (int i : arr) {
System.out.println(i);
}
}
//生成正确的彩票数组
public static int[] getNewArr(ArrayList<Integer> list,int[] newArr){
Random sj=new Random();
for (int i = 0; i < newArr.length; i++) {
if(i!=newArr.length-1){
int index=sj.nextInt(33-i);
newArr[i]=list.get(index);
list.remove(index);
}else{
newArr[i]=sj.nextInt(16)+1;
}
}
return newArr;
}
}
|
|