我生成的两个矩阵1000
X 1000
:
第一个矩阵: O
和#
。
第二基质: O
和B
。
使用下面的代码里,第一基质了8.52秒来完成:
Random r = new Random();
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
if(r.nextInt(4) == 0) {
System.out.print("O");
} else {
System.out.print("#");
}
}
System.out.println("");
}
有了这个代码,第二矩阵把259.152秒来完成:
Random r = new Random();
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
if(r.nextInt(4) == 0) {
System.out.print("O");
} else {
System.out.print("B"); //only line changed
}
}
System.out.println("");
}
什么是显着不同的行进时间背后的原因是什么?
至于建议中的意见,只打印System.out.print("#");
需要7.8871
秒,而System.out.print("B");
给still printing...
。
正如其他人谁指出,为他们工作正常,我试图Ideone.com例如,和代码段都以相同的速度执行。
测试条件:
- 我跑这个测试通过NetBeans 7.2,与输出到其控制台
- 我用
System.nanoTime()
进行测量