课件中动手动脑2

1Java中产生随机数:

方法一:先用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)JDKSystem.out.println()方法:

System.out.println()方法有很多种重载,如char,int,long,string等等,当不调用参数时,其输出换行符。

猜你喜欢

转载自www.cnblogs.com/123456www/p/9782978.html