コードを書き留める必要がありますが、MPLはそれが間違っていると言っていますか?何が悪かったのか理解できませんでしたか?
以下を含むクラスCounterの定義を記述します。
- int型のcounterという名前のインスタンス変数。
- タイプintのlimitという名前のインスタンス変数。
- 0に初期化されるnCountersという名前の静的int変数。
- 最初のパラメーターをcounterに割り当て、2番目のパラメーターをlimitに割り当てる2つのintパラメーターを受け取るコンストラクター。また、静的変数nCountersに1を追加します。
- インクリメントという名前のメソッド。パラメータを受け取ったり、値を返したりすることはありません。インスタンス変数カウンターが制限よりも小さい場合、インクリメントはインスタンス変数カウンターに1を追加するだけです。
- デクリメントという名前のメソッドで、パラメーターを受け取ったり値を返したりすることもありません。カウンターがゼロより大きい場合は、カウンターから1を引くだけです。
- インスタンス変数counterの値を返すgetValueという名前のメソッド。
- 静的変数nCountersの値を返すgetNCountersという名前の静的メソッド。
私が書いた私のコード:
public class Counter {
private int counter;
private int limit;
private static int nCounters = 0;
public Counter(int counter, int limit) {
nCounters++;
}
public void increment() {
if (counter < limit) {
counter++;
}
}
public void decrement() {
if (counter > 0) {
counter--;
}
}
public int getValue() {
return counter;
}
public static int getNCounters(){
return nCounters;
}
}
MPLによると:
備考:
⇒コンストラクターがカウンターを適切に初期化しません
⇒実行中にコードでエラーが発生しました検出された問題:
⇒カウンターの値が正しくありません