0
我試圖運行這個測試 - 計算速度 - 這個對象類名爲Point
與其中的一些方法。它的構造函數Point(String, double, double)
需要三個輸入/變量。如何使用currentTimeMillis()在類上運行計算速度?
我有這個想法,但我似乎無法將它放在代碼中:我想使用Math.random
在A和C之間創建一個隨機數,將該數字放在一個變量中(對於這三個輸入中的每一個)它創建一個對象數組,然後循環遍歷數組,每次創建新的實例。
我在下面的代碼是相當亂七八糟的,但任何幫助,將不勝感激。
public class Test{
long startTime = System.currentTimeMillis();
long total = 0;
for (int i = 0; i < 10000000; i++) {
total += i;
randomValue1 = (int)(Math.random()*10);
randomValue2 = (int)(Math.random()*10);
Point[] instances = new Point[numberOfElements];
for (int i=0; i<instances.length; i++) {
instances[i] = new Point(,randomValue1, randomValue2);
}
}
long stopTime = System.currentTimeMillis();
long elapsedTime = stopTime - startTime;
System.out.println(elapsedTime);
}
使用nanoTime的currentTimeMillis,您還需要通過運行10000次(根據我的理解)的方法來預熱JIT以獲得更好的結果 – MadProgrammer
大部分此代碼似乎沒有做你怎麼看。例如'total'不用於任何事情,如果是的話,它將不會有用。每個點的隨機值都是相同的。點是2D的,所以不清楚你會使用三個值。大部分時間將用於創建對象並生成隨機值。 –