java随机数
在实际开发中产生随机数的使用是很普遍的,所以在程序中进行产生随机数操作很重要。在java中主要提供两种方式产生随机数,分别为调用Math类的random()方法和Random类提供的产生各种数据类型随机数的方法。
1、Math.random()方法
在Math类中存在一个random()方法,用于产生随机数字,这个方法默认生成大于等于0.0小于1.0的double型随机数,即0<=Math.random()<1.0,虽然Math.random()方法只可以产生0~1之间的double型数字,其实只要在Math.random()语句上稍加处理,就可以使用这个方法产生任意范围的随机数。
公式:(数据类型)(最小值+Math.random()*(最大值-最小值+1))
上述公式为产生的随机数,范围包含最小值与最大值。
1.1 产生随机整数
/**
* 产生随机整数(包含起始与终止范围)
*
* @author pan_junbiao
* @param num1 起始范围参数
* @param num2 终止范围参数
* @return 随机整数
*/
public static int GetRandomNum(int num1, int num2)
{
int result = (int) (num1 + Math.random() * (num2 - num1 + 1));
return result;
}
public static void main(String args[])
{
// 产生100至999的随机整数
System.out.println("任意一个100值999的整数:" + GetRandomNum(100, 999));
}
1.2 产生随机字符
/**
* 产生随机字符(包含起始与终止范围)
*
* @author pan_junbiao
* @param char1 起始范围参数
* @param char2 终止范围参数
* @return 随机字符
*/
public static char GetRandomChar(char char1, char char2)
{
char result = (char) (char1 + Math.random() * (char2 - char1 + 1));
return result;
}
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'));
}
执行结果:
2、Random类
除了Math类中的random()方法可以获取随机数之外,在Java中还提供了一种可以获取随机数的方式,那就是java.util.Random类。可以通过实例化一个Random对象创建一个随机数生成器。
语法如下:
Random r=new Random();
其中,r是指Random对象。
在Random类中提供了获取各种数据类型随机数的方法,下面举例几个常用的方法。
方法 | 说明 |
---|---|
public int nextint() | 返回一个随机整数。 |
public int nextInt(itn) | 返回大于等于0且小于n的随机整数。 |
public long nextLong() | 返回一个随机长整型值。 |
public boolean nextBoolean() | 返回一个随机布尔型值。 |
public float nextFloat() | 返回一个随机浮点型值。 |
public double nextDouble() | 返回一个随机双精度型值。 |
public double nextGaussian() | 返回一个概率密度为高斯分布的双精度值。 |
示例:使用Random对象生成各种类型的随机数,并输出结果。
import java.util.Random;
/**
* 使用Random对象生成各种类型的随机数
*
* @author pan_junbiao
*
*/
public class RandomTest
{
public static void main(String args[])
{
// 实例化一个Random类
Random r = new Random();
// 随机产生一个整数
System.out.println("随机产生一个整数:" + r.nextInt());
// 随机产生一个大于等于0且小于10的整数
System.out.println("随机产生一个大于等于0且小于10的整数:" + r.nextInt(10));
// 随机产生一个布尔类型的值
System.out.println("随机产生一个布尔类型的值:" + r.nextBoolean());
// 随机产生一个双精度型的值
System.out.println("随机产生一个双精度型的值:" + r.nextDouble());
// 随机产生一个浮点型的值
System.out.println("随机产生一个浮点型的值:" + r.nextFloat());
// 随机产生一个概率密度为高斯分布的双精度值
System.out.println("随机产生一个概率密度为高斯分布的双精度值:" + r.nextGaussian());
}
}
运行结果:
相关阅读
System.out.println(Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
JavaScript中textContent、innerText和innerHTML的用
目录 0.码仙励志 1.textContent的用法 1.设置标签中的文本内容 2.获取标签中的文本内容 2.innerText的用法 1.设置标签中的文本内
本文转自:https://blog.csdn.net/UncleMing5371/article/details/54176252 一、线索二叉树原理 前面介绍二叉树原理及特殊二叉
在《JAVA核心编程》中,有一段这样的代码import javax.swing.*; import java.awt.*; import java.io.File; public class ImageVi
前段时间在极客时间上购买了杨晓峰老师的《Java核心技术36讲》,趁着这段时间有空,对相关知识点做了一个整体的大纲,也对自己所掌握的