黑马程序员技术交流社区

标题: 双色球,以后可以试着用来买彩票 [打印本页]

作者: 精诚所至    时间: 2017-3-23 21:34
标题: 双色球,以后可以试着用来买彩票
[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;
        }
}

















欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2