好的,我对 Java 很陌生,我正在尝试完成家庭作业,但我的对象在我的课堂上不起作用。(如果我使用了错误的术语,请原谅我,这里是新手)
所以我正在制作一个记录 2 圈的基本秒表程序。我已经到了创造第一圈的地步,而且效果很好。然后,当我调用 timer.reset() 对象来重置秒表时,它显示的时间与第一圈相同。为什么我的 timer.reset() 不起作用?
public class StopWatch
{
/**
* This method
*
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.println("Start stopwatch [press s]: ");
System.out.println("Stop stopwatch [press q]: ");
Timer timer = new Timer();
input.next();
timer.start();
input.next();
timer.stop();
int elapsedTime = timer.getElapsedTime();
System.out.print("Elapsed time: ");
System.out.print(elapsedTime);
System.out.println(" milliseconds");
timer.reset();
input.next();
timer.start();
input.next();
timer.stop();
System.out.print("Elapsed time: ");
System.out.print(elapsedTime);
System.out.println(" milliseconds");
}
}
这是我在我的程序中使用的 timer.java 类。
public class Timer {
private long start;
private long stop;
private int elapsedTime;
public Timer() {
}
public void start() {
if (this.start == 0 && this.stop == 0)
this.start = System.currentTimeMillis();
}
public void stop() {
if (this.start > 0 && this.stop == 0) {
this.stop = System.currentTimeMillis();
this.elapsedTime = (int) (stop - start);
}
}
public int getElapsedTime() {
return this.elapsedTime;
}
public void reset() {
this.start = 0;
this.stop = 0;
this.elapsedTime = 0;
}
}