一、前言

  在我们平时写代码的时候,免不了会使用到随机数,特此将几种随机的生成总结如下。

二、随机数生成

  对于随机数的生成,分为四种情况,假设两个数为min, max,则有如下四种情况。

  1. (min, max),表示生成的随机数不包括min和max。

  2. [min, max),表示生成的随机数包括min,但不包括max。

  3. (min, max],表示生成的随机数不包括min,但是包括max。

  4. [min, max],表示生成的随机数包min,也包括max。

  下面我们就上面的四种情况使用三种不同的方法实现。

  2.1 使用Math.random方法

  其代码如下  

package com.hust.grid.leesf.random;

/**
 * 使用Math.random方法生成随机数
 * @author LEESF
 * 2016.3.30
 */
public class RandomTest {
    //(min, max)
    public static int random1(int min, int max) {
        int ran;
        while ((ran = (int) (Math.random() * (max - min) + min)) == min);
        return ran;
    }
    
    //[min, max)
    public static int random2(int min, int max) {
        int ran = (int) (Math.random() * (max - min) + min);
        return ran;
    }
    
    // (min, max]
    public static int random3(int min, int max) {
        int ran;
        while ((ran = (int) (Math.random() * (max - min + 1) + min)) == min);
        return ran;
    }
    
    //[min, max] 
    public static int random4(int min, int max) {
        int ran = (int) (Math.random() * (max - min + 1) + min);
        return ran;
    }
    
    public static void main(String[] args) {
        int min = 40;
        int max = 100;
        // (min, max)
        System.out.println(random1(min, max));
        // [min, max)
        System.out.println(random2(min, max));
        // (min, max]
        System.out.println(random3(min, max));
        // [min, max]
        System.out.println(random4(min, max));
    }
}
View Code

相关文章:

  • 2021-07-22
  • 2021-11-02
  • 2022-12-23
猜你喜欢
  • 2022-02-24
  • 2022-12-23
  • 2022-12-23
  • 2021-11-08
  • 2022-01-22
  • 2021-08-01
相关资源
相似解决方案