java随机数种子,怎样产生JAVA语言随机数?

人工智能 admin 浏览 条评论

java程序随机生成一个数 判断输入的数字和随机数关系 直到相等

条件是b!=a才要继续循环~做了下调整,有前后括号的尽量括起来,这是编码习惯,方便调试和改错。你还可以定义一个计数器,当猜测次数超过5次或者10次的时候结束游戏。public static void main(String[] args) { Random no = new Random(); int a=no.nextInt(101); int b; do{ System.out.println("please input the number you guess"); Scanner in=new Scanner(System.in); b=in.nextInt(); if (b<a){ System.out.println("the number is too small please input again!"); } if (b>a){ System.out.println("the number is too big please input again!"); } if (b==a){ System.out.println("congratulations!"); break; } }while(b!=a); }

java怎么获得以当前时间为种子的随机数?

importjava.util.Random;publicclassRandomDemo{publicstaticvoidmain(String[]args){longt=System.currentTimeMillis();//获得当前时间的毫秒数Randomrd=newRandom(t);//作为种子数传入到Random的构造器中System.out.println(rd.nextInt());//生成随即整数}}

java定义数组并添加3个随机数 要求:随机数的值固定为2的0-8次方的结果如(1、2、4……) 值不得重复

importjava.util.Random;publicclassTest{publicstaticvoidmain(String[]args){int[]intValue=newint[3];inta1,a2,a3;Randomrnd=newRandom();while(true){a1=rnd.nextInt(8);a2=rnd.nextInt(8);a3=rnd.nextInt(8);if(a1!=a2&&a1!=a3&&a2!=a3){break;}}System.out.println(a1+"\t"+a2+"\t"+a3);if(a1==0){intValue[0]=1;}else{intValue[0]=1<<a1;}if(a2==0){intValue[1]=1;}else{intValue[1]=1<<a2;}if(a3==0){intValue[2]=1;}else{intValue[2]=1<<a3;}for(ints:intValue){System.out.println(s+"");}}}测试过了,没啥问题,虽然办法比较笨

Java带种子的随机数生成的数不一样

很显然不是每次结果一样的。。如果每次生成结果一样的话随机数就没有意义了。。参考:http://zhidao.baidu.com/question/191701769.html构造方法摘要 Random() 创建一个新的随机数生成器。 Random(long seed) 使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next 方法使用它来保存随机数生成器的状态。 方法摘要 protected int next(int bits) 生成下一个伪随机数。 boolean nextBoolean() 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 boolean 值。 void nextBytes(byte[] bytes) 生成随机字节并将其置于用户提供的字节数组中。 double nextDouble() 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0之间均匀分布的 double 值。 float nextFloat() 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0 之间均匀分布的 float 值。 double nextGaussian() 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯(“正常地”)分布的 double 值,其平均值是 0.0,标准偏差是 1.0。 int nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。 int nextInt(int n) 返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。 long nextLong() 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。 void setSeed(long seed) 使用单个 long 种子设置此随机数生成器的种子。 所以每次编译后random 会随机取出一个值。。 那个值不可能每次都是一样的。。

java怎么进行随机数生成算法

要产生随机数,可以使用Java api中java.lang包中的Math类.Math类以静态方法的方式提供常用的数学方法,其中Math.random()方法是一个可以产生[0.0,1.0]区间内的一个双精度浮点数的方法如:产生一个100以内的整数:int x=(int)(Math.random()*100);又如:产生一个1-50之间的随机数:int x=1+(int)(Math.random()*50)也可以使用通用创建对象来获取:Random random = new Random();random.nextInt(x);产生一个0到x-1的正数,如果想产生浮点数有Random类的nextFloat方法,总之nextXXX方法是用来产生随机数的。

转载请注明:java多线程-java培训班_隆康教程网 » java随机数种子,怎样产生JAVA语言随机数?

与本文相关的文章

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表