存储在int,Java中的0和1之间的随机小数

时间:2016-03-30 01:59:23

标签: java random

处理项目,试图找到一种方法来生成0到1之间的随机小数,包括0和1。制作一个多线程项目,增加和减少(int)数字。

到目前为止,我已经声明了一个私有的int号,初始化为0,也是一个随机生成器。

我希望让它工作的方法是在0和1之间得到一个随机小数(I.E. 0.564184)并将其添加到数字中。

程序设计的方法是检查数字是否小于1,如果是,则为其添加一个随机小数,重新运行检查直到它高于1或下一个数字将使其高于1

我看到了一个例子 Java random number between 0 and 0.06 但是,当我将它附加并修改为:

 while(number < max)
          {         
            double increase = random.nextInt(2);
            increase = increase / 10.0;
            number = (int) (number + increase);
            System.out.println(number);
          }

程序连续运行只打印出0。我确实认为这是由于在打印前添加数字时转换为int。

当我使用
时,我的线程正常工作            number = number - random.nextInt(1) + 1; System.out.println(number);

现在我卡住了,看着不同的导游,我想在我看的时候应该寻求帮助。提前谢谢。

2 个答案:

答案 0 :(得分:2)

如果我理解了您的问题,您可以简单地使用Random.nextDouble() 从此随机数生成器的序列中返回下一个伪随机数,在 id name surname id_product 1 a a 1 2 b b 1 4 e e 9 str_replace(array("\r", "\n"), '&#10;', $textareavalue); 之间均匀分布的双值。 类似的东西,

0.0

如果你想让半场和半场保持不变,那么

会更有效率
1.0

答案 1 :(得分:1)

Ints不能包含小数值。将变量更改为Float或Double将解决您的问题。