调用一个在Java中获取时间的方法

时间:2015-12-23 22:05:51

标签: java methods time

我在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,那么每次该方法运行时,我都会丢失之前的变量并获得默认值

如何保留这些变量的值,并使代码按照描述工作?

1 个答案:

答案 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;
}