我正在使用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”。
答案 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次估算。