(1)Java中产生随机数:
方法一:先用Random类产生新的对象a:Random a=new Random();再调用nextInt()方法,如产生【0,99】的随机数,就用a.nextInt(100),其返回值即为产生的【0,99】的随机数。Random类以种子作为参数,相同的种子会产生相同的随机数,所以一般为了产生更好的随机数,以时间作为种子,方法为:Random r = new Random(System.currentTimeMillis());
方法二:调用Math类中的静态方法,如 (int) ( Math.random() * 6 )是产生了1~5之间的随机数。
Random用法如下:
1 public class TestRandom 2 { 3 public static void main(String[] args) 4 { 5 Random rand = new Random(); 6 System.out.println("rand.nextBoolean():" + rand.nextBoolean()); 7 byte[] buffer = new byte[16]; 8 rand.nextBytes(buffer); 9 System.out.println(Arrays.toString(buffer));//Arrays.toString(buffer)是将数组buffer的值录入到一个String类成员中,返回该字符串 10 //生成0.0~1.0之间的伪随机double数 11 System.out.println("rand.nextDouble():" + rand.nextDouble()); 12 //生成0.0~1.0之间的伪随机float数 13 System.out.println("rand.nextFloat():" + rand.nextFloat()); 14 //生成平均值是 0.0,标准差是 1.0的伪高斯数 15 System.out.println("rand.nextGaussian():" + rand.nextGaussian()); 16 //生成一个处于long整数取值范围的伪随机整数 17 System.out.println("rand.nextInt():" + rand.nextInt()); 18 //生成0~26之间的伪随机整数 19 System.out.println("rand.nextInt(26):" + rand.nextInt(26)); 20 //生成一个处于long整数取值范围的伪随机整数 21 System.out.println("rand.nextLong():" + rand.nextLong()); 22 } 23 }
(2)随机数发生器:
1 //信1705-1班 20173666 王建宁 2 package 随机数; 3 import java.util.*; 4 public class rand { 5 static Scanner sc=new Scanner(System.in) 6 /** 7 * @param args 8 */; 9 public static void main(String[] args) { 10 // TODO 自动生成的方法存根 11 System.out.print("请输入要产生的随机数个数:"); 12 int num=sc.nextInt(); 13 Random rand=new Random(); 14 long x=rand.nextInt(100);//必须用long,因为x可能会超过int的范围,使其产生数值的错误 15 for(int i=1;i<=num;i++) 16 { 17 x=(16807*x)%(int)(Math.pow(2,31)-1);//调用了Math类中的静态的pow方法 18 System.out.print(x+" "); 19 if(i%5==0) 20 System.out.println();//输出换行 21 } 22 } 23 }
(3)JDK中System.out.println()方法:
System.out.println()方法有很多种重载,如char,int,long,string等等,当不调用参数时,其输出换行符。
(4)
利用了函数的重载,且利用的是参数的类型不同而形成的重载,第一个函数参数类型为整型,第二个函数参数类型为双精度浮点型。