主要是不清楚这样使产生的随机数有这样的范围,哪位大虾帮下忙啊

解决方案 »

  1.   

    have a try
    int ran = int(Math.random()*10)+1;
      

  2.   

    Random  rd = new Random();
    int i = rd.nextInt(11);
      

  3.   

    int i = rd.nextInt(10)+1;
      

  4.   

    for (i= 0 ;i<2000;i++)
    int ran = int(Math.random()*10)+1;产生一个随机的小数,乘以10然后再取整,
    循环2000次就可以了!
      

  5.   

    请问为什么后面要加1了
    for (i= 0 ;i<2000;i++)
    int ran = int(Math.random()*10)+1;
    int i = rd.nextInt(10)+1;
    have a try
    int ran = int(Math.random()*10)+1;在产生随机数后,就可以了,但是我在很多地方都 看到要加1,请指点,谢谢
      

  6.   

    J2SE中标准做法应该是
    Random rnd = new Random();
    int i = rnd.nextInt(10) + 1;根据官方文档,Random类的nextXXX(XXX可以是Int,Long,Double等)方法返回值的范围是从○到传入的参数之间的范围,在上例中是10,也就是说返回值是在0到10之间。而在Java的Random类的返回值中,文档上明确指出,下界是可以包括的,而上界是不包括的,即返回值属于[0,10)。所以先取得0-9的数值,再通过+1来使区间移值。