使用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]数值的随机数。

时间: 2024-10-02 02:55:41

使用Random随机生成[min,max]之间的整数:的相关文章

产生10个随机数5-9之间 统计一个int类型的一维数组中有多少个在[min,max]之间的数

* 产生10个随机数5-9之间 统计一个int类型的一维数组中有多少个在[min,max]之间的数 */ import java.util.*; public class Demo{ public static void main(String[] args) { int[] array=getRandom(3,9,-1); iterArray(array); } public static int[] getRandom(int min,int max,int count){ if(count

java Random随机生成一个数

package java05; import java.util.Random; /* Random随机生成一个数字 1.导包: import java.util.Random; 2.创建 Random r = new Random(); 3.使用 int num = r.nextInt()不带参数是随机生成一个数字在int所有范围内 int num = r.nextInt(n); 带参数代表范围,左闭右开 * */ public class DemoRandomnum { public sta

random 随机生成字符串

# import random# for x in range(10):# i = 0# l = []# while i < 10:# ret = chr(random.randint(33, 126))# if ret not in ['/','\\','@','I','l','o','O']:# i+=1# l.append(ret)# print(''.join(l)) import randomimport stringfor x in range(10): str_source = s

Java基础__随机生成1~15之间的数字

package text; import java.util.ArrayList; import java.util.List; public class Text { public static void main(String[] args) { //创建一个Integer集合的链表 List<Integer> l = new ArrayList<Integer>(); //当链表种存在15个数时结束像链表种插入数据 while(l.size()<15){ int i =

使用Random类生成指定范围的随机数

目的:要生成在[min,max]之间的随机整数 public class RandomTest { public static void main(String[] args) { int max=20; int min=10; Random random = new Random(); /* random.nextInt(max)表示生成[0,max]之间的随机数,然后对(max-min+1)取模. 以生成[10,20]随机数为例,首先生成0-20的随机数,然后对(20-10+1)取模得到[0

随机生成模块

import random print(random.randint(1,4))#从1到4随机生成一个数字 print(random.randrange(1,4))#从1到3随机生成一个数字,不包含3 print(random.randrange(1,10,2))#1到9随机生成一个基数 print(random.randrange(0,10,2))#1到9随机生成一个偶数 print(random.random())#随机生成一个浮点数,范围是0-1之间 print(random.unifor

随机生成指定位数的验证码

import randomimport string # 方法一:def code_1(m, choice): code=''.join(random.sample(choice, m)) return code print(code_1(4, string.ascii_letters + string.digits)) # 方法二:def code_2(n): code='' for i in range(n): number=random.randint(0, 9) # 0-9 lower_

随机生成数字填充数组

随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 设计思路: 1.创建一个数组array[],长度为10. 2.在for循环中调用Math.Random()方法随机生成一定范围内的整数. 3.调用JOptionPane.showMessageDialog()方法将数组元素输出. 4.用for循环将数组元素相加,然后同步骤3. 程序流程图: 源程序代码: //随机生成10个数,填充一个数组,用消息框显示数组内容, //接着计算数组元素的和,将

Java代码实现随机生成汉字

一.背景知识 GB 2312-80 是中国国家标准简体中文字符集,全称<信息交换用汉字编码字符集·基本集>,由中国国家标准总局发布,1981年5月1日实施.GB2312 编码通行于中国大陆:新加坡等地也采用此编码.中国大陆几乎所有的中文系统和国际化的软件都支持 GB 2312. GB2312 标准共收录 6763 个汉字,其中一级汉字 3755 个,二级汉字 3008 个:同时收录了包括拉丁字母.希腊字母.日文平假名及片假名字母.俄语西里尔字母在内的 682 个字符.GB2312 的出现,基本