Java中“随机数”的产生--Math.random和Random的产生方法

Math.random

Math类中存在一种random()方法,用于产生随机的数字和字符

①随机数字的产生

random()语法
(int)(Math.random()*n):
返回大于等于0且小于n的随机数
m+(int)(Math.random()*n):
返回大于等于m且小于m+n(不包括m+n)的随机数
ps:如果要产生m到n之间的数:
代码为:m+(int)(Math.random()*(n-m))
程序演示:

public class 随机数 {
/*
 * 定义产生偶数的方法
 * @param num1起始范围参数
 * @param num2终止范围参数
 * @return 随机的范围内偶数
 */
	public static int GetEvenNum(double num1,double num2) {
		//产生num1~num2之间的随机值
		int s=(int)num1 + (int)(Math.random()*(num2-num1));
		if(s%2==0) {
			return s;
		}else
			return s+1;
	}
	public static void main(String[] args) {
		System.out.println("任意一个2-32之间的偶数:"+GetEvenNum(2,32));
	}
}

②随机字符的产生

固定字符段内的随机字符
如随机产生一个a-z之间的字符

(char)('a'+Math.random()*('z'-‘a’+1));

所以可以推出随机产生两个字符之间的字符为:

(char)('cha1'+Math.random()*(cha2-cha1+1));

程序演示:

/*定义获取任意字符之间的随机字符
 * 随机生成a-z之间的字符
 * (char)(‘a’+Math.random()*('z'-'a'+1))
 * 随机生成cha1-cha2之间的字符
 * (char)(cha1+Math.random()*(cha2-cha1+1))
 */
public class 随机字母 {
  public static char GetRandomChar(char cha1,char cha2) {
	  char s = (char)(cha1+Math.random()*(cha2-cha1+1));
	  return s;
  }
  public static void main(String[] args) {
	  //随机获得a-z之间的字符
	  System.out.println("任意小写字母"+GetRandomChar('a','z'));
	  //随机获得A-Z之间的字符
	  System.out.println("任意大写字母"+GetRandomChar('A','Z'));
	  //随机获得0-9之间的数字
	  System.out.println("0-9之间的任意数字:"+GetRandomChar('0','9'));
}
}

Random类获得随机数

在Random类中提供了获取各种数据类型随机数的方法,我用程序直接演示给大家看

import java.util.Random;
//引用java.util.Random类
public class Random类随机字符数字等的产生 {
   public static void main(String[] args) {
	Random r = new Random();//实例化一个Random类
	System.out.println("随机产生一个整数:"+r.nextInt());
	System.out.println("随机产生一个大于等于0小于10的整数"+r.nextInt(10));
	System.out.println("随机产生一个布尔Boolean型:"+r.nextBoolean());
	System.out.println("随机产生一个双精度型的值:"+r.nextDouble());
	System.out.println("随机产生一个浮点型的值:"+r.nextFloat());
}
}

结果如下:
随机产生一个整数:-1215968291
随机产生一个大于等于0小于10的整数1
随机产生一个布尔Boolean型:false
随机产生一个双精度型的值:0.05971188146365236
随机产生一个浮点型的值:0.9931316

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,可以使用Math类的random()方法来生成随机数。该方法默认生成大于等于0.0且小于1.0的double类型随机数,即0 <= Math.random() < 1.0。如果想生成指定范围内的随机数,可以使用以下方式进行处理: 1. 要生成大于等于0且小于n的随机数m:`(int)(Math.random() * n)` 2. 要生成大于等于m且小于n(不包括m和n)的随机数:`(int)(Math.random() * (n - m)) + m` 举个例子,假设我们想要生成任意一个2到32之间的偶数,可以使用以下代码: ```java public static int getEvenNum(double num1, double num2) { int s = (int) num1 + (int) (Math.random() * (num2 - num1)); if (s % 2 == 0) { return s; } else { return s + 1; } } public static void main(String[] args) { System.out.println("任意一个2-32之间的偶数:" + getEvenNum(2, 32)); } ``` 这样,就可以得到一个2到32之间的随机偶数。 希望这个回答对您有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Java的数字处理类Math.random()方法](https://blog.csdn.net/qq_42077954/article/details/114640853)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Java 生产随机数Math.random()方法的使用](https://blog.csdn.net/m0_57613893/article/details/121519530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值