我想用当前时间的秒数作为随机数种来产生随机数,写出代码如下
Calendar c=Calendar.getInstance();
int second=c.get(Calenar.SECOND);
但是每次使用时这个second都是相同的值,这样就没办法产生不同的数字了,请高手指教一下怎么产获取的当前的瞬时秒数.
我也知道java.util.Random类可以用来产生随机数,但是想试试上面的方法.
Calendar c=Calendar.getInstance();
int second=c.get(Calenar.SECOND);
但是每次使用时这个second都是相同的值,这样就没办法产生不同的数字了,请高手指教一下怎么产获取的当前的瞬时秒数.
我也知道java.util.Random类可以用来产生随机数,但是想试试上面的方法.
解决方案 »
- 如何提取字符串中的汉语短语或句子
- Java绘图及面板放置的问题
- 赛门铁克的面试题
- JDeveloper
- 大家来看个异常
- 各位JAVA前辈,我刚刚学习JAVA能说说JAVA和C++的区别么,我学过一些C++
- 我的一个经典问题?
- 画图求助,给一个已定义r g b值的点画出它相应的颜色,应该怎么做?
- 我用JB将application打包成.JAR运行有问题,把.jar解开后,用DOS窗口运行java -classpath ...没有问题,这是怎么回事?
- 大虾:我想用java编程实现一个立方体的旋转(绕着一个轴旋转),给点思路如何?谢谢!
- 求算法
- 急,在线等,怎么使用js在一个页面中实现点击不同的按扭调出相应的页面
你用new java.util.Date().getTime(),也不需要用Calendar了
不知道我的解释是否行得通~~
1 Calendar.getInstance().getTime().getTime();();//当前毫秒
2 System.currentTimeMillis();//当前毫秒
Random()就是以当前时间的毫秒数为种子生成的
new Random() 等效於 new Random(Calendar.getInstance().getTime().getTime())也就是说,如果你要使用当前时间作为随机种子,直接用new Random()就行了
切记new Random()生成一次就好了,以后用next来生成就好了Java里的随机数是伪随机数,依赖于随机种子,如果你在某一时间,一直拿当前时间作为种子,那得到的随机数都是 一样的
你先new 一个Random类然后用他的next方法!Random random = new Random();
int second = random.next();
比如:nextInt(int n) etc.位置在:
--java.util.Random
Calendar c=Calendar.getInstance();
int second=c.get(c.SECOND);
c.setTimeInMillis(System.currentTimeMillis());
hour = calendar.get(Calendar.HOUR);
minute = calendar.get(Calendar.MINUTE);
second = calendar.get(Calendar.SECOND);