在for循环中设置唯一的计时器

时间:2014-02-05 23:36:42

标签: java loops for-loop timer

我正在使用for循环并在开头设置一个计时器,并在结束时结束它。 for循环重复3次并给出我需要的3个值,但我希望能够比较它在java中给出的计时器值并计算最大 - 最小的结果。要做到这一点,我需要每个计时器都有一个我似乎无法做到的唯一名称。这是我的代码示例。

int j;
for(j=1;j<=3;++j){
    //...code
    {
        long startTime = System.nanoTime(); //timer start
        //...code
        long estimatedTime = System.nanoTime() - startTime; //timer end
        System.out.println(startTime + "_1");      }
        {
            timer comparison for the 3 timers
        }

正如我所说,我已经拥有了价值观,但我需要一种比较它们的方法。 “estimateTime”是我正在比较的值,所以理想情况下我喜欢在第二个和第三个值上分配名称“estimatedTime2”和“estimatedTime3”。

1 个答案:

答案 0 :(得分:1)

您无法“动态”声明具有不同名称的变量,因此您必须将估计时间保存在数组或其他数据结构(例如列表)中并相应地进行索引。

例如,你可以这样做:

    long[] times = new long[3];

    for (int j=0;j<3;++j) {
    //...code
    {
        long startTime = System.nanoTime(); //timer start
        //...code
        times[j] = System.nanoTime() - startTime; // times[0], times[1], times[2]
        System.out.println(startTime + "_1");      }
        {
            // timer comparison for the 3 timers
        }
    }

循环完成执行后,您将在times数组中进行所有3次估算。