我正在尝试对大约500万个元素进行排序,并且需要记录花费的时间。
我正在执行以下操作:
long startTime = (System.currentTimeMillis());
My Sorting Algorithm {}
long totalTime = (System.currentTimeMillis() - startTime);
以毫秒为单位,我会得到适当的时间,但是当我尝试将其转换为秒时,如下所示:
long totalTime = ((System.currentTimeMillis() - startTime)/1000);
它给我0或1,这是不正确的。
我也尝试将其加倍并得到0.0
double totalTime =(((System.currentTimeMillis()-startTime)/ 1000);
实际上,TimeUnit也给出0
TimeUnit.MILLISECONDS.toSeconds(totalTime)。
有人可以帮我指出出什么问题吗?
最佳答案
您正在使用整数除法并将结果分配给整数类型。因此,最终结果始终是整数。
要修复,请使用:
double totalTime = ((System.currentTimeMillis() - startTime)/1000.0);