问题描述:
根据福利彩票双色球玩法规则,6个蓝色球,范围为1-32,不允许重复,一个红色球,范围为1-16,自动生成6个蓝色球,一个红色球
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/**
* Created by lvyinxiazheyang on 2016/8/30.
*/
public class ShuangSeQiu {
public static int[] generateRandomNumber(int begin,int end,int size){
if(begin>=end||(end-begin)<size) {
return null;
}
int[] seed = new int[end-begin];//种子你可以随意生成,但不能重复
for(int i=begin;i<end;i++){
seed[i-begin] = i;//数组赋初始值,不重复
}
int[] ranArr = new int[size];
Random ran = new Random();//创建随机数对象
for(int i=0;i<size;i++){
int j = ran.nextInt(seed.length - i);
ranArr[i] = seed[j];//得到那个位置的数值
seed[j] = seed[seed.length-1-i];
}
return ranArr;
}
public static void main (String[] args){
int[] ranArr = {};//存放蓝色球
int red;
Scanner input = new Scanner(System.in);
Random ran = new Random();
System.out.println("欢迎使用双色球自动摇号系统");
System.out.println("确认摇号?(y/n)");
String go ;
go = input.next();
while(go.equalsIgnoreCase("Y")){
ranArr = generateRandomNumber(1,33,6);
red = ran.nextInt(16);
System.out.println(Arrays.toString(ranArr)+""+red);
System.out.print("继续摇号(y/n)?");
go=input.next();
}
System.out.println("谢谢使用");
}
}