Java 实例 - 在控制台上随机得到两个数之间的任意整数值(Random随机数)

 


 

 

在控制台上随机得到 4~11 之间的任意值, 含4和11

 


1
package com.guyu.demo; 2 3 import java.util.Random; 4 5 /** 6 * 7 * 2024年4月9日 上午10:39:43 8 * @author Guyu 9 * 10 * 随机数示例: 11 * 在控制台上随机得到 4~11 之间的任意值, 含4和11, 12 * 若要生成一个在 a 到 b(包括a和b)之间的随机正整数 (伪随机数),可以使用固定格式: nextInt(b - a + 1) + a 13 * 例如:①生成含 2-8 之间随机数,格式:nextInt(8-2+1)+2; 14 * ②生成含 0-100 之间随机数,格式:nextInt(101); 15 */ 16 public class RandomNumber { 17 18 public static void main(String[] args) { 19 // 创建一个 Random 对象 20 Random random = new Random(); 21 22 // 生成一个 4 到 11 之间的随机整数(包含4和11) 23 // 注:nextInt(8)生成 0 到 7 的随机数 (包含0,不包含8),加 4 后变为 4 到 11,即 nextInt(11-4+1) + 4 24 int randomNumber = random.nextInt(8) + 4;
25 // 生成 5-8 之间随机数(包含5和8):nextInt(8-5+1) + 5 26 // int randomNumber = random.nextInt(4) + 5; 27 28 // 在控制台上打印随机数 29 System.out.println("随机生成的数是: " + randomNumber); 30 } 31 }

 

 

题外衍生:想实现打印不含4和11数值可使用语句格式:nextInt(b - a - 1) + (a + 1);或者do while判断语句,
 
 

package
com.guyu.demo; import java.util.Random; /** * * 2024年4月9日 上午10:45:43 * @author Guyu * * 随机数示例: * 在控制台上随机得到 4~11 之间的任意值, 要求不含4和11,
*      当前使用 do while 判断语句举例; * 若要生成一个在 a 到 b(不包含a和b)之间的随机正整数 (伪随机数),也可以使用固定格式: nextInt(b - a - 1) + (a + 1); *
*/ public class RandomNumber01 { public static void main(String[] args) { // 创建一个 Random 对象 Random random = new Random(); int randomNumber; do { // 生成4到11之间的随机数(包含4和11) randomNumber = random.nextInt(8) + 4; } while (randomNumber == 4 || randomNumber == 11); /** * 通过一个do-while循环来检查生成的随机数是否是4或11, * 如果是,则重新生成; * 当生成的随机数不是4或11时(随机只含:5/6/7/8/9/10),循环终止,并打印出这个随机数。 */ // 在控制台上打印随机数,随机只含范围:5/6/7/8/9/10 System.out.println("随机生成的数是: " + randomNumber); } }

 

 

在控制台上随机得到 5~7 之间的任意值, 四种随机区间范围实例如下:

 

 1 package com.guyu.demo;
 2 
 3 import java.util.Random;
 4 
 5 /**
 6  * 
 7  * 2024年4月9日 上午11:19:43
 8  * @author Guyu
 9  * 
10  * 随机数示例:
11  *         在控制台上随机得到 5~7 之间的任意值, 四种随机区间情况,
12  *         若要生成一个在 a 到 b(包含a和b)之间的随机正整数 (伪随机数),可以使用固定格式: nextInt(b - a + 1) + a
13  *         反之,不包含 a 和 b 之间的随机正整数,需使用固定格式: nextInt(b - a - 1) + (a + 1)
14  *                包含 a 和不包含 b,需使用固定格式: nextInt(b - a) + a
15  *                不包含 a 和包含 b,需使用固定格式: nextInt(b - a) + (a + 1)
16  *        例如:①生成含 5-7 之间随机数(含a和b)
17  *              ②生成 5-7 之间随机数(不含a和b)
18  *              ③生成 5-7 之间随机数(含a但不含b)
19  *              ④生成 5-7 之间随机数(不含a但含b)
20  *            
21  */
22 public class RandomNumber0409 {
23     
24     public static void main(String[] args) {
25         // 创建一个 Random 对象
26         Random random = new Random();
27 
28         // ①生成含 5-7 之间随机数,格式:nextInt(7 - 5 + 1) + 5;   另外若需生成含 0-100 之间随机数,格式:nextInt(101);
29         int randomNumber1 = random.nextInt(3) + 5;
30 
31         // ②生成 5-7 之间随机数(不含a和b),表示(a,b),格式: nextInt(1) + 6,随机结果范围只为:6
32         int randomNumber2 = random.nextInt(1) + 6;
33 
34         // ③生成 5-7 之间随机数(含a但不含b),表示[a,b),格式:nextInt(2) + 5,随机结果范围:5、6
35         int randomNumber3 = random.nextInt(2) + 5;
36 
37         // ④生成 5-7 之间随机数(不含a但含b),表示(a,b],格式:nextInt(2) + 6,随机结果范围:6、7
38         int randomNumber4 = random.nextInt(2) + 6;
39 
40         // 在控制台上打印随机数
41         System.out.println("①随机生成的数是: " + randomNumber1);
42         System.out.println("②随机生成的数是: " + randomNumber2);
43         System.out.println("③随机生成的数是: " + randomNumber3);
44         System.out.println("④随机生成的数是: " + randomNumber4);
45     }
46 }

 

 打印结果随机只有一种情况,会出现四个都为 6

 

 

 

说明: 在使用 Random 类的 nextInt(int bound) 方法,nextInt(int bound) 方法会生成一个介于 0(包括)和 bound(不包括)之间的伪随机整数。默认生成是左闭右开的区间,即[0, bound)。

 

 

 

 

 

 


 


 

Note:

欢迎点赞,留言,转载请在文章页面明显位置给出原文链接
感谢您在浩瀚的网络世界中精心阅读了此篇文章
衷心希望此文能为您带来帮助
没有个性 哪来的签名!
详情请关注点我
持续更新中

 

 

© 2024 04 - Guyu.com | 【版权所有 侵权必究】

 


                      

 

posted @ 2024-04-09 16:36  故屿γ  阅读(37)  评论(0编辑  收藏  举报