float i=random.nextFloat();
float j=random.nextFloat();
float m=i-j;

解决方案 »

  1.   

    先出个[-1,1]的:Math.random()*2-1;然后除去-1,和1两个点:
    int num;
    while(true) {
      num = Math.random()*2-1;
      if(num!=-1||num!=1) break;
    }
      

  2.   

    这可以用数学的角度来理解的,float i=random.nextFloat();产生[0,1)的随机数,可以乘以2,就产生了[0,2)的随机数,再减一就产生了你要的范围了[-1,1),不过要去除-1这个点,这是楼上说的,也可以乘以3,那就的减二了,也是同样的结果!
      

  3.   

    同意楼上 postfather(Ben)的做法
      

  4.   

    呵呵,发现 postfather(Ben) 更好!