java产生随机数方法
System.nanoTime提供相对精确的计时,但是不能用来计算当前日期,因为可能为负数,但是计算一段程序跑了多长时间还是可以的,哪怕是负数,差值是一定的
import java.util.Random; public class RandomTest { public static void main(String[] args) { /*不用currentTimeMillis的原因是:当多线程调用时,由于CPU速率很快, * 因此currentTimeMillis很可能相等,使得随机数结果也会相等。 // long seed1 = System.currentTimeMillis(); //nanoTime()返回最准确的可用系统计时器的当前值,以毫微秒为单位(即纳秒)。此方法只能用于测量已过的时间,与系统或钟表时间的其他任何时间概念无关。*/ Random r = new Random(System.nanoTime()); for (int i = 1; i <= 100; ++i) { System.out.print(r.nextInt(100) + " ");//不要扩大倍数再取整,推荐用自带方法,取100以内随机整数 if (i % 10 == 0) { System.out.println(); } } System.out.println(); for (int i = 1; i <= 100; ++i) { System.out.print(r.nextBoolean() + " "); if (i % 10 == 0) { System.out.println(); } } } }========================================Talk is cheap, show me the code=======================================
CSDN博客地址:https://blog.csdn.net/qq_34115899