public class Countdown {
// static変数 - カウントダウンの初期値を表す変数
private static int initialValue;
// インスタンス変数 - カウントダウンの現在の値を表す変数
private int currentValue;
// コンストラクタ - インスタンス変数の初期化
public Countdown() {
// カウントダウンの初期値を代入し、現在の値を初期化
this.currentValue = initialValue;
}
// インスタンスメソッド - カウントダウンを実行するメソッド
public void performCountdown() {
if (currentValue > 0) {
currentValue--;
System.out.println("Countdown: " + currentValue);
} else {
System.out.println("Countdown reached zero.");
}
}
// クラスメソッド - カウントダウンの初期値を設定するメソッド
public static void setInitialValue(int value) {
initialValue = value;
}
// クラスメソッド - カウントダウンの初期値を取得するメソッド
public static int getInitialValue() {
return initialValue;
}
public static void main(String[] args) {
// テスト
Countdown.setInitialValue(5);
Countdown counter1 = new Countdown();
counter1.performCountdown();
counter1.performCountdown();
Countdown counter2 = new Countdown();
counter2.performCountdown();
}
}
このクラスを使って、main
メソッド内でテストが行われています。setInitialValue
メソッドで初期値を設定し、各インスタンスでperformCountdown
メソッドを呼び出すことで、正しくカウントダウンが行われることを確認できます。