java中随机数的生成总结
1.Math.random()方法
Math.random( )用于产生随机数,这个随机数是大于等于0.0小于1.0的double型随机数,即0<=Math.random()<1.0
(int)(Math.random()*n) à 返回大于等于0小于n的随机数
m+(int)(Math.random()*n) à返回大于等于m小于m+n的随机数
示例1:产生num1和num2之间的随机数
Scanner sc=new Scanner(System.in); System.out.println("请输入num1:"); int num1=sc.nextInt(); System.out.println("请输入num2:"); int num2=sc.nextInt(); int num=num1+(int)(Math.random()*(num2-num1)); System.out.println("num1和num2之间的随机数是:"+num); |
示例2:产生‘a’~’z’之间的随机字符
char ch=(char)('a'+Math.random()*('z'-'a'+1)); System.out.println("‘a’~’z’之间的随机字符是:"+ch); |
示例3:产生‘A’~’Z’之间的随机字符
char ch=(char)('A'+Math.random()*('Z'-'A'+1)); System.out.println("‘A’~’Z’之间的随机字符是:"+ch); |
示例4:产生0~9之间的随机数
int num=(int)(Math.random()*9); //或者 char num2=(char)('0'+Math.random()*('9'-'0'+1)); System.out.println("0~9之间的随机数是:"+num); System.out.println("0~9之间的随机数是:"+num2); |
2.Random类
java.lang.Object
java.util.Random
示例:
Random r=new Random(); //产生一个随机整数 int num1=r.nextInt(); System.out.println("随机整数是:"+num1); Scanner sc=new Scanner(System.in); System.out.println("输入整数n:"); int n=sc.nextInt(); //产生一个大于0小于n的整数 int num2=r.nextInt(n); System.out.println("大于0小于n的随机数"+num2); //产生一个随机布尔值 boolean bool=r.nextBoolean(); System.out.println("一个随机布尔值是:"+bool); //产生一个双精度浮点数 double d=r.nextDouble(); System.out.println("一个双精度浮点数是:"+d); |