解决方案 »

  1.   

    可以自己通过计算来控制具体的范围,示例如下:Random random = new Random();
    int s = random.nextInt(max) % (max - min + 1) + min;
      

  2.   

    你这个特定值 指的是什么?
    请问 随机数不可能重复么?
     Random 的API你在看看  nextInt(int n) ---产生 0->n之间的随机数,包前部包后.这个就足够了啊,
      

  3.   

    可以生成指定范围的随机数,但是随机数肯定会有可能重复,不想生成重复的话,可以用Set来装生成的数字。
    Math.random()方法是一个可以产生[0.0,1.0]区间内的一个双精度浮点数的方法
    产生一个100以内的整数:int x=(int)(Math.random()*100);
    产生一个1-50之间的随机数:int x=1+(int)(Math.random()*50)
      

  4.   


    Random random = new Random();
    int s = random.nextInt(max) % (max - min + 1) + min;
    这个算法是什么意思,抱歉我数学老师死的早
      

  5.   

    int s = random.nextInt(50)+50;
    System.out.println(s);控制范围
      

  6.   

    //生成6位随机数
    int random=(int)((Math.random()*9+1)*100000);  这样只生成的6位数的随机数
      

  7.   

    http://www.cnblogs.com/shenliang123/archive/2012/03/26/2417798.html
      

  8.   

    用set是去除重复项的正解,没学set之前我还是用的数组的for循环中套while循环,然后每次取值后将该值改成0,类似下面for (int i = 0; i < SysRedBallNum.length; i++) {
    while (true) {
    int index = r.nextInt(32);
    if (RedBall[index]!=0) {
    SysRedBallNum[i]=RedBall[index];
    RedBall[index]=0;
    break;
    }

    }
    }
      

  9.   

    0.0 <= Math.random() < 1.0
    这个随机数很有用丫,根据不等式的知识,值域可以扩大多少倍都行。
      

  10.   

    个人感觉Math.random()用这个产生随机数比较方便一点
      

  11.   

    给你写的完整的示例,简单测试了一下,正数应该没啥问题,随机性也还可以import java.util.Random;public class RandomTest {    public static void main(String[] args) {
            for (int ii = 0; ii < 100; ii++) {
                System.out.println(getRandomNumber1(0, 9));
                System.out.println(getRandomNumber2(0, 9));
            }
        }    /**
         * nextDouble() 方法返回小于 1 但大于或等于 0 的值。 为了生成某个范围内的随机整数,可使用以下公式:
         * (int)((upperbound - lowerbound + 1) * nextDouble() + lowerbound) 这里,upperbound
         * 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
         */
        public static int getRandomNumber1(int lowerbound, int upperbound) {
            return (int) ((upperbound - lowerbound + 1) * Math.random()/*(new Random()).nextDouble()*/ + lowerbound);
        }    public static int getRandomNumber2(int lowerbound, int upperbound) {
            return (new Random()).nextInt(upperbound - lowerbound + 1) + lowerbound;
        }
    }
      

  12.   

    Quote: 引用 15 楼 Android_iPhone 的回复:

    今天一下子开窍了
    上来正好看见你回复,这个算法才对嘛!其实挺简单的,但之前被你的回复搞糊涂了,一开始你回复的算法里的那个取余符号算什么啊!害我两天没事就在想你的算法
      

  13.   

    Math.random()产生随机数 用一个变量储存 然后通过if来筛选
      

  14.   

    我也正在做随机数的问题。很郁闷。我想大概就是  
    int x=(int)(Math.random()*n);
    这样子来确定范围