双色球算法实现

简介: import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class caipiao1 { /** * 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组 * @param begin 最小数字(包含该
import java.util.Arrays;   
import java.util.Random;   
import java.util.Scanner;
  
public class caipiao1 
{   
    /**  
     * 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组  
     * @param begin 最小数字(包含该数)  
     * @param end 最大数字(不包含该数)  
     * @param size 指定产生随机数的个数  
     */  
    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 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.print("确实摇号(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("谢谢使用!");   
    }   
  
}  

目录
相关文章
|
4月前
|
算法 Java 测试技术
算法分析(蛮力法与减治算法应用实验报告)
这篇文章是关于算法分析的实验报告,介绍了如何使用蛮力法解决背包问题,并通过伪代码和Java代码实现,同时分析了其时间效率;还介绍了基于减治法思想实现的二叉查找树的插入与查找,同样提供了伪代码、Java源代码实现和时间效率分析,最后展示了测试结果截图。
算法分析(蛮力法与减治算法应用实验报告)
|
6月前
|
算法 C++
【c/c++算法】曼哈顿算法简单运用
【c/c++算法】曼哈顿算法简单运用
119 0
|
人工智能 移动开发 算法
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分
114 0
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分
|
机器学习/深度学习 人工智能 开发框架
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分2
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分
99 0
【有营养的算法笔记】基础算法 —— 推导证明前缀和与差分2
|
人工智能 算法
算法每日一题——第六天——干草堆(差分)
算法每日一题——第六天——干草堆(差分)
算法每日一题——第六天——干草堆(差分)
|
人工智能 算法 BI
零基础学算法100天第6天——差分(基础算法)
前两天的零基础算法系列我们讲了一维与二维的前缀和,既然讲了前缀和那就不得不讲它的兄弟——差分。差分的本质,实际上就是前缀和的逆运用,掌握好了前缀和那么差分也就是砍瓜切菜。差分也是一个非常重要的知识点,大家一定要掌握好!
145 0
零基础学算法100天第6天——差分(基础算法)
|
算法 数据挖掘 数据库
嗨! Apriori算法(一)
嗨! Apriori算法(一)
143 0
|
机器学习/深度学习 算法 数据库
嗨! Apriori算法(二)
嗨! Apriori算法(二)
124 0