最佳答案
我生成了两个矩阵1000
x1000
:
第一个矩阵: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,并且两段代码以相同的速度执行。
测试条件:
System.nanoTime()
进行测量