为了账号安全,请及时绑定邮箱和手机立即绑定

产生随机数的问题,有System.currentTimeMillis() 和 Math.random()

System.currentTimeMillis() 和 Math.random() 两者有什么区别?要怎样使用他们?这两个是类还是方法,还是叫做别的什么?小白求助!谢谢!!!

正在回答

3 回答

System.currentTimeMillis() 是返回一个long类型的以毫秒为单位的当前时间。

Math.random()是返回一个随机的带正号的 double 值,大于等于0并且小于等于1。

这两个都是静态方法,前面的System和Math分别是他们的类,后面的currentTimeMillis()和random()分别是他们的静态方法,可以直接以这种方法调用,不需要创建实体对象,能直接返回值

0 回复 有任何疑惑可以回复我~
#1

qq_22_7 提问者

好棒~!!那么,用System.currentTimeMillis()%10,产生第一个,用System.currentTimeMillis()/7%10,产生第二个数,所以为什么产生第二个随机数要除以7呢?:)
2017-03-11 回复 有任何疑惑可以回复我~
#2

慕的地2471922 回复 qq_22_7 提问者

我不是很明白为什么要除以7,可能是为了让他更随机一点吧,也许你可以把原题贴出来
2017-03-11 回复 有任何疑惑可以回复我~
#3

qq_22_7 提问者

非常感谢!
2017-03-17 回复 有任何疑惑可以回复我~
#4

慕勒0043031

很开心在学习Java的时候讷讷够直接在网上找到前辈们讨论的相关问题,刚好我也遇到了这个问题,但是我疑问的地方是不一样的。 我在调用System的生成随机数的方法时和书上不一样我忘了加括号,书上的源码是 int num1=(int)(System.currentTimeMillis()%10); 我忘了把System.currentTimeMillis()%10括起来,发现生成的随机数有时候会是负数,加了括号就是正数了,大佬们知道为什么吗? 谢谢!!
2020-11-12 回复 有任何疑惑可以回复我~
查看1条回复

产生随机数的话,是用System.currentTimeMillis()%10,产生第一个,用System.currentTimeMillis()/7%10,产生第二个,所以为什么产生第二个随机数要除以7呢?然后这种方法和Math.random()怎样区别?虚心求教!拜托啦谢谢!

0 回复 有任何疑惑可以回复我~

System.currentTimeMillis()应该是当前时间以数字显示了(以秒计算),一般用法是System.out.println(new java.util.Date(System.currentTimeMillis()))

Math.random()效果是产生0-1的随机数

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

产生随机数的问题,有System.currentTimeMillis() 和 Math.random()

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信