[AppleScript] 纯文本查看 复制代码
package com.itheima;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/*
* 根据福利彩票的双色球玩法规则,6个蓝色球,范围为1-32,不允许重复,1个红色球,范围为1-16,自动生成6个蓝色球,一个红色球
*/
public class DoubleBall {
public static void main(String[] args) {
int[] ranArr = {};//存放蓝色球
int red;
Scanner input = new Scanner(System.in);
Random r = new Random();
System.out.println("欢迎使用双色球自动摇号系统");
System.out.print("确定摇号(y/n)?");
String go = input.nextLine();//继续摇号的标志
while(go.equalsIgnoreCase("y")) {//输入"y"继续摇号
ranArr = generateRandomNumber(1, 33 , 6);
red = r.nextInt(16);//生成红色球
System.out.println(Arrays.toString(ranArr) + " " + red);
System.out.print("继续摇号(y/n)?");
go = input.next();
}
System.out.println("谢谢使用!");
}
/*
* 根据指定的最小数字和最小数字,以及随机数的个数,产生指定的不重复的数组,最小数字(包含该数),最大数字(不包含该数)
*
*/
public static int[] generateRandomNumber(int begin, int end, int size) {
//进行判断,保证begin<end并且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 r = new Random();
for (int i = 0; i < size; i++) {//循环生成size个数
int j = r.nextInt(seed.length - i);//得到一个位置,范围依次递减,避免与尾部重复
ranArr = seed[j];//得到那个位置的数值
seed[j] = seed[seed.length - 1 - i];//将最后一个未用的数字放到这里
}
return ranArr;
}
}