zoukankan      html  css  js  c++  java
  • 使用Random随机生成[min,max]之间的整数:

    如下代码是生成范围在min到max之间的随机整数(包括min和max):

     

    import java.util.Random;
    
    /**
     * 生成[min,max]的随机整数
     * @author meikai
     * @version 2017年11月4日 上午11:04:52
     */
    public class RandomTest {
        
        public static void main(String args[]) {
            int num =new RandomTest().test(5,12);
            System.out.println("返回的是"+num);
                    
        }
        
        /**
         * 返回[min,max]的随机整数
         * @param min
         * @param max
         * @return
         */
        public int test(int min ,int max) {
            
            Random r = new Random();
            int num =r.nextInt(max+1-min)+min;
            return num;         
        }
        
    
    }

    现在讲解  int num =r.nextInt(max+1-min)+min 是怎么生成我们想要范围的随机整数的:

    1、Random类的 nextInt()方法生成随机的int值,该值介于int的区间,也就是-2的31次方到2的31次方-1之间;

    2、nextInt(int max)方法生成一个随机的int值,该值介于[0,max)的区间, ' [ '符号表示包括,而 ') '表示不包括,所以该方法生成包括0但不包括max的随机整数;

    3、nextInt(int max+1)方法生成一个随机的int值,该值介于[0,max]的区间;

    4、nextInt(max+1-min)+min,'max+1-min'表示我们要的范围总共有多少个数字,'nextInt(max+1-min)'生成的是这么多个数字中随机的一个,生成后加上min,最终为介于[min,max]数值的随机数。

  • 相关阅读:
    核函数矩阵为什么要是positive semidefinite的
    Autoencoders
    Statistics与Machine Learning有什么区别
    [zz]Using SyncTeX with LaTeX
    Metric Learning的一个疑惑
    [zz]Latex中texworks编辑器正向反向跳转搜索
    [zz]Python3.x新特性
    LyX 2.0.5中文排版
    function
    多行文字结尾显示省略号
  • 原文地址:https://www.cnblogs.com/kenhome/p/7782929.html
Copyright © 2011-2022 走看看