我在Java程序中计算时间时遇到问题。当我的对话框出现时,我希望得到时间,直到用户按下按钮。
我正在考虑通过调用方法来实现这一点。当对话框启动时,我将使用整数1调用方法。这就是我存储当前时间的方式。
当按下按钮时,我用整数2调用方法。这就是为什么我将当前时间存储到另一个变量然后返回time2-time1作为总时间。
我需要有关方法概念的帮助。
public long counttime(int t)
{
long startTime;
long endTime;
long totalTime;
if (t==1)
startTime = System.currentTimeMillis();
if (t==2)
{
endTime = System.currentTimeMillis();
totalTime = endTime - startTime;
}
return totalTime;
}
这让我错了。声明了3个变量,但可能未初始化。但是,我不希望初始化这些变量,因为我希望从另一个时间存储变量以计算总时间。
如果我将它们初始化为0,那么每次该方法运行时,我都会丢失之前的变量并获得默认值
如何保留这些变量的值,并使代码按照描述工作?
答案 0 :(得分:2)
如果您希望它保持不变,那么您需要在一个字段中存储(至少startTime
)(并在没有设置时处理该情况)。像,
private Long startTime = null;
public Long counttime(int t)
{
if(t==1)
startTime = System.currentTimeMillis();
if(t==2 && startTime != null)
{
long endTime = System.currentTimeMillis();
return endTime - startTime;
}
return null;
}