わかりました。私はJavaを初めて使用し、宿題を完了しようとしていますが、クラスでオブジェクトが機能していません。(間違った用語を使用している場合はご容赦ください。ここでは初心者です)
だから私は2周を記録する基本的なストップウォッチプログラムを作っています。私は1周目を作成するところまで来ました、そしてそれは素晴らしい働きをします。次に、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クラスimです。
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;
}
}