zoukankan      html  css  js  c++  java
  • 随机数产生的方法

      1. 随机数产生的方法:最小值+Math.random()*最大值;范围 [最小值,最大值] 。

    public class suijishu {
    	public static void main(String[] args)
    	{
    		int n;
    		for(int i=0;i<20;i++)
    		{
    			n=(int)(Math.random()*6);
    			System.out.print(n+"     ");
    			if((i+1)%5==0)
    			System.out.println("     ");
    			
    		}
    	}
    }
    

     产生范围在  [0,6]之间。

    2.用new.random.nextInt(26)输出一个处于0到26的整数

    public class suijishu {
    	public static void main(String[] args)
    	{
    		Random rand=new Random();
    		System.out.println("rand.nextBoolean():"+rand.nextBoolean());
    		System.out.println("rand.nextFloat():"+rand.nextFloat());//生成一个0.0到1.0之间的伪随机float数。
    		System.out.println("rand.nextDouble():"+rand.nextDouble());//生成一个0.0到1.0 之间的伪随机double数。
    		System.out.println("rand.nextInt(10):"+rand.nextInt(10));//生成一个0到10的伪随机整数。
    		System.out.println("rand.nextLong():"+rand.nextLong());//生成一个处于long整数取值范围的整数。
    	}
    }
    

     3.用不同种子产生随机数,和用当前时间来产生随机数。

    public class suijishu {
    	public static void main(String[] args)
    	{
    		System.out.println("第一个种子为50:");
    		Random r1=new Random(50);
    		System.out.println("r1.nextBoolean():"+r1.nextBoolean());
    		System.out.println("r1.nextDouble():"+r1.nextDouble());
    		System.out.println("r1.nextFloat"+r1.nextFloat());
    		System.out.println("r1.nextInt()"+r1.nextInt());
    		System.out.println("r1.nextLong:"+r1.nextLong());
    		System.out.println("第二个种子为50:");
    		Random r2=new Random(50);
    		System.out.println("r2.nextBoolean():"+r2.nextBoolean());
    		System.out.println("r2.nextDouble():"+r2.nextDouble());
    		System.out.println("r2.nextFloat"+r2.nextFloat());
    		System.out.println("r2.nextInt()"+r2.nextInt());
    		System.out.println("r2.nextLong:"+r2.nextLong());
    		System.out.println("种子为100:");
    		Random r=new Random(100);
    		System.out.println("r.nextBoolean():"+r.nextBoolean());
    		System.out.println("r.nextDouble():"+r.nextDouble());
    		System.out.println("r.nextFloat"+r.nextFloat());
    		System.out.println("r.nextInt()"+r.nextInt());
    		System.out.println("r.nextLong:"+r.nextLong());
    		System.out.println("以当前时间为种子:");
    		Random rt= new Random( System.currentTimeMillis() );
    		System.out.println("rt.nextBoolean():"+rt.nextBoolean());
    		System.out.println("rt.nextDouble():"+rt.nextDouble());
    		System.out.println("rt.nextFloat"+rt.nextFloat());
    		System.out.println("rt.nextInt()"+rt.nextInt());
    		System.out.println("rt.nextLong:"+rt.nextLong());
    
    	}
    

     结果:种子为五十的产生数相同。种子为100的产生数不同,而种子为当前时间的所产生随机数是独一无二的。

    3.产生1000个随机数。

    public class suijishu {
    	public static void rand(long x)
    	{
    		long a;
    		for(int i=0;i<1000;i++)
    		{
    			a=(x*16807)%Integer.MAX_VALUE;
    			System.out.println(a);
    			x=a;
    			
    		}		
    	}
    		
    	public static void main(String[] args) 
    	{
    		System.out.println("种子数为:");
    		Scanner in=new Scanner(System.in);
    		long seed;
    		seed=in.nextLong();
    		rand(seed);		
    	}
    }
    
  • 相关阅读:
    VS 2012 + NDK + ADT 开发(Cocos2d-x 3.1开发)PART 2
    VS 2012 + NDK + ADT 开发(Cocos2d-x 3.1开发)PART 1
    WebView读取SD卡上的HTML
    安卓隐藏控件
    OMNET++安装
    产品质量的核心——概念的完整性
    关于异常
    基类与子类之间的引用转换
    成绩划分 处理异常
    《大道至简 第七、八章》读后感
  • 原文地址:https://www.cnblogs.com/dixingchen/p/11601616.html
Copyright © 2011-2022 走看看