Java生成随机数的几种方式
Java生成随机数的几种方式
随机数,在一些特殊场景下,是非常常用的。比如一些测试和验证场景、安全加密、随机抽样等都有随机数的‘身影’。
一、 使用java.util.Random类
java.util.Random类提供了更全面的随机数生成功能,包括随机整数、随机浮点数、随机布尔值等。
public static void main(String[] args) {
Random random = new Random();
int randomNumber = random.nextInt(900000) + 100000;
System.out.println("随机6位数:" + randomNumber);
}
转换成String类型
public static void main(String[] args) {
Random random = new Random();
int randomNumber = random.nextInt(900000) + 100000;
String name = String.valueOf(randomNumber );
System.out.println("随机6位数:" + name );
}
或者
public static void main(String[] args) {
Random random = new Random();
int randomNumber = random.nextInt(900000) + 100000;
String nameinter = Integer.toString(randomNumber);
System.out.println("随机6位数:" + nameinter );
}
又或者
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
Random rand = new Random();
int randomNum = rand.nextInt(); // 生成一个随机整数
double randomDouble = rand.nextDouble(); // 生成一个随机浮点数
boolean randomBoolean = rand.nextBoolean(); // 生成一个随机布尔值
}
}
二、 使用java.time.LocalDateTime类
如果你需要基于当前时间的随机数,可以使用java.time.LocalDateTime类来生成随机时间戳。
import java.time.LocalDateTime;
public class TimeBasedRandomExample {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
long randomNum = now.toInstant().toEpochMilli();
}
}
三、 使用java.security.SecureRandom类
如果需要生成安全的随机数,应该使用java.security.SecureRandom类,它提供了强随机数生成器。
import java.security.SecureRandom;
public class SecureRandomExample {
public static void main(String[] args) {
SecureRandom secureRand = new SecureRandom();
int randomNum = secureRand.nextInt(); // 生成一个安全的随机整数
}
}
四、 使用Math.round()与Math.random()结合
如果需要生成一个介于0到指定最大值之间的随机整数,可以将Math.random()乘以最大值,然后使用Math.round()方法四舍五入。
int max = 100;
int randomNum = (int) (Math.random() * max + 0.5); // 加0.5是为了避免0
五、 使用Math.random()方法
Math.random()是生成随机数的最简单方法,它返回一个介于0.0到1.0之间的伪随机数(即从0(包括0)往上,但是不包括1(排除1))。
double randomNum = Math.random()
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)