一、前言
在我们平时写代码的时候,免不了会使用到随机数,特此将几种随机的生成总结如下。
二、随机数生成
对于随机数的生成,分为四种情况,假设两个数为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)); } }