在Java中调用获取时间的方法
我在Java程序中计算时间时遇到问题。当我的对话框出现时,我想知道用户按下按钮之前的时间 我正在考虑通过调用一个方法来实现这一点。当对话框打开时,我将调用整数为1的方法。这就是我存储当前时间的方式 当按下按钮时,我调用整数为2的方法。这就是为什么我将当前时间存储到另一个变量,然后返回time2-time1作为总时间 我需要有关该方法概念的帮助在Java中调用获取时间的方法,java,methods,time,Java,Methods,Time,我在Java程序中计算时间时遇到问题。当我的对话框出现时,我想知道用户按下按钮之前的时间 我正在考虑通过调用一个方法来实现这一点。当对话框打开时,我将调用整数为1的方法。这就是我存储当前时间的方式 当按下按钮时,我调用整数为2的方法。这就是为什么我将当前时间存储到另一个变量,然后返回time2-time1作为总时间 我需要有关该方法概念的帮助 public long counttime(int t) { long startTime; long endTime; long
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,那么每次该方法运行时,我都会丢失之前的变量,并获得默认值
如何保留这些变量的值,并使代码按所述方式工作?如果希望它持续存在,则需要在字段中存储(至少是
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;
}
想象一下
t
是3,那么totalTime
是什么呢?这就是编译器要问的。是的,我知道。但是,当我尝试使用整数2运行它时,它将再次使用new声明的starttime,而不是以前调用的方法更改的变量。对不起,我的英语不好。而且,这也不行。每个方法调用都有自己的开始和结束时间,因为它们是局部变量。要做到这一点,开始时间和结束时间必须存储为对象的实例字段!非常感谢你的时间和回答!