我想用random随机生成10个0.0-1.0的数字,每次重新生成的这10个数都是固定的,我尝试用添加种子的方法生成
for (int i = 0; i < 10; i++) {
Random rdm = new Random(1);
float num= rdm.nextFloat();
System.out.println(num);
}
结果这10个数字是一样的`我知道我的结果是错的,求正确的解决思路,谢谢
for (int i = 0; i < 10; i++) {
Random rdm = new Random(1);
float num= rdm.nextFloat();
System.out.println(num);
}
结果这10个数字是一样的`我知道我的结果是错的,求正确的解决思路,谢谢
解决方案 »
- 请问java画图程序如何调出调色板?
- 无法解析是什么错误?
- java 中要将字符串20090128012650转换为2009-01-28 01:26:50 如何做,请各位大虾帮忙。
- JComboBox 如何禁止下拉的某一项不可选?
- function调用另一个function问题
- 如何用Java操作剪贴板?
- 如何学好一问语言求解
- 问一个简单问题: if (key!=null && key.equals("TT")) 与if (key.equals("TT") && key!=null)这样的条件是相同的么?
- 用java编写一个通过数据线控制手机发短消息的问题(给个思路)
- JComboBox的下拉菜单为何有时不显示
- for语句出错,但不知哪里出错,求指教?
- 求指点java+ajax的目录树设计
这样就可以了
Random rdm = new Random();
float num= rdm.nextFloat();
System.out.println(num);
}
去掉你设置的种子
for (int i = 0; i < 10; i++) {
float num = rdm.nextFloat();
System.out.println(num);
}
其实也就是:
public Random() { this(++seedUniquifier + System.nanoTime()); }
里面那个1是作为种子,然后生成随机数时是根据这个种子来执行一种产生随机数算法,因为你for循环里每次都是使用1作为种子,所以每次产生的随机数都一样。
Random rdm = new Random();
是使用系统当前时间作为种子,因为每次执行时时间不同,种子不同产生的随机数也就不一样了。