【发布时间】:2012-03-20 12:40:17
【问题描述】:
我从 Internet 上的某个地方找到了这个秒表 Java 代码,但它似乎不起作用。我想知道如何修复此代码以使其正常工作。它应该具有启动、停止和重置的功能,并且应该将时间显示为小时:分钟:秒.毫秒(例如:12:35:17.26)。请帮帮我。
public class StopWatch {
private long startTime = 0;
private long stopTime = 0;
private boolean running = false;
public void start() {
this.startTime = System.currentTimeMillis();
this.running = true;
}
public void stop() {
this.stopTime = System.currentTimeMillis();
this.running = false;
}
//elaspsed time in milliseconds
public long getElapsedTime() {
long elapsed;
if (running) {
elapsed = (System.currentTimeMillis() - startTime);
}
else {
elapsed = (stopTime - startTime);
}
return elapsed;
}
//elaspsed time in seconds
public long getElapsedTimeSecs() {
long elapsed;
if (running) {
elapsed = ((System.currentTimeMillis() - startTime) / 1000);
}
else {
elapsed = ((stopTime - startTime) / 1000);
}
return elapsed;
}
//sample usage
public static void main(String[] args) {
StopWatch s = new StopWatch();
s.start();
//code you want to time goes here
s.stop();
System.out.println("elapsed time in milliseconds: " + s.getElapsedTime());
}
}
【问题讨论】:
-
您所说的“不工作”到底是什么意思?您对这段代码有什么期望?
-
家庭作业?如果是,请添加标签。
-
@SérgioMichels 我希望它是一个计数计时器,其格式应为 hh:mm:ss:ms