首页 > 编程知识 正文

JAVA 生成随机数的3种方法,随机教育的十五种方法

时间:2023-05-05 19:26:16 阅读:258320 作者:4908

生成随机数

三个方法

java.util.Random classMath.random 方法,创建一个double类型的随机数ThreadLocalRandom class 1) java.util.Random 要使用这个方法,首先要生成一个实例。来调用它的nextInt(),nextDouble(), nextLong() 等等我们可以使用这个类来生成随机的 integer, float, double, long, booleans我们可以传递一个参数到这个方法里,来设置一个范围的上限。例如,nextInt(6)将生成范围从0到5(包括0到5)的数字。 import java.util.Random; public class generateRandom{ public static void main(String args[]) { // create instance of Random class Random rand = new Random(); // Generate random integers in range 0 to 999 int rand_int1 = rand.nextInt(1000); int rand_int2 = rand.nextInt(1000); // Print random integers System.out.println("Random Integers: "+rand_int1); System.out.println("Random Integers: "+rand_int2); // Generate Random doubles double rand_dub1 = rand.nextDouble(); double rand_dub2 = rand.nextDouble(); // Print random doubles System.out.println("Random Doubles: "+rand_dub1); System.out.println("Random Doubles: "+rand_dub2); } } //output:Random Integers: 547Random Integers: 126Random Doubles: 0.8369779739988428Random Doubles: 0.5497554388209912 2) Math.random() Math 这个类包含了很多有关数字操作的的方法,例如:计算指数、对数等。其中一个方法是random(),该方法返回一个正数的 double,大于或等于0.0,小于1.0。此方法只能生成 double 类型的随机数 import java.util.*; public class generateRandom { public static void main(String args[]) { // Generating random doubles System.out.println("Random doubles: " + Math.random()); System.out.println("Random doubles: " + Math.random()); } }//output:Random doubles: 0.13077348615666562Random doubles: 0.09247016928442775 3) java.util.concurrent.ThreadLocalRandom class 这个类是在java 1.7中被引入,用来生成类型为integer,double,booleans等的随机数 import java.util.concurrent.ThreadLocalRandom; public class generateRandom { public static void main(String args[]) { // Generate random integers in range 0 to 999 int rand_int1 = ThreadLocalRandom.current().nextInt(); int rand_int2 = ThreadLocalRandom.current().nextInt(); // Print random integers System.out.println("Random Integers: " + rand_int1); System.out.println("Random Integers: " + rand_int2); // Generate Random doubles double rand_dub1 = ThreadLocalRandom.current().nextDouble(); double rand_dub2 = ThreadLocalRandom.current().nextDouble(); // Print random doubles System.out.println("Random Doubles: " + rand_dub1); System.out.println("Random Doubles: " + rand_dub2); // Generate random booleans boolean rand_bool1 = ThreadLocalRandom.current().nextBoolean(); boolean rand_bool2 = ThreadLocalRandom.current().nextBoolean(); // Print random Booleans System.out.println("Random Booleans: " + rand_bool1); System.out.println("Random Booleans: " + rand_bool2); } } //output:Random Integers: 536953314Random Integers: 25905330Random Doubles: 0.7504989954390163Random Doubles: 0.7658597196204409Random Booleans: falseRandom Booleans: true

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。