クラスを定義するコードを記述します。クラスの名前はCounter
。(考えてみてください。これはファイル名について何を意味しますか?public
テストに使用できるように、これをクラスにする必要があることに注意してください。)ACounter
は物事を数えるために使用されます(驚くことではありません)。
これを行うために、クラスの各インスタンスには「count」値が含まれます。(考えてみてください:この値の適切な名前は何ですか?インスタンスに属するクラスのインスタンスごとに個別の値を作成するにはどうすればよいですか?)値は負であってはなりません。(明らかです。どうすれば負の数になることができますか?)値が負にならないようにする必要があります(リモートで通常の方法で作業している場合、これは自動的に発生するはずです)。
クラスは次の機能を提供する必要があります。
カウント値を0に設定するメソッド(考えてみてください:このメソッドの適切な名前は何ですか?public
もちろん、他のコードがクラスを使用する方法の一部であるため、そうする必要があります。考えてみてください:このためのパラメーターは必要ですか?方法?もしそうなら、何?)
カウントを1つ増やす方法(上記のように考えてください)。
カウントを1減らす方法(上記のように考えてください。また、カウントが負にならないように、カウントがすでに0の場合はどうなりますか?この場合の対処方法を決定してください。)
現在のカウント値を返すメソッド。(これは「アクセサ」と呼ばれます)。
現在のカウント値を表示するメソッド。(注:これはデザイン的には非常に悪い考えですが、割り当てにはそれが必要です。ヒント:System.out
画面に出力する方法の1つを使用してください。)
toString
カウンタの文字列表現を返すと呼ばれるメソッド。これはパラメータをとるべきではなく、文字列を返す必要があります。(これは、Javaのほとんどのオブジェクトが提供する標準の機能です。考えてみてください。カウント値以外に、文字列に含める必要のあるものはありますか?)
equals
カウンタを別のカウンタと比較して等しいかどうかを確認するために呼び出されるメソッド。boolean
このメソッドは、正確に1つのパラメーターであるCounterインスタンスを受け取り、2つのCounterが等しいかどうかを示す指標を返す必要があります。(考えてみてください:2つのカウンターが「等しい」かどうかを決定するものは何ですか?)
このクラスは、次の機能を提供しないでください。
- カウンターの値を変更するその他の方法(特に、標準入力から値を読み取る方法ではありません)。
Counter
いくつかのインスタンスを作成し、それらのメソッドを使用するプログラムを作成します。Counter
プログラムは、メインプログラムを読んだときに期待するものと一致する出力を生成することにより、クラスが期待どおりに動作することを証明する必要があります。(ヒント:これはJavaであるため、このプログラムにはメソッドを含む別のクラスが必要です。別のファイルに入れてください。メインプログラムが他のファイルでクラスを見つけられるように、 andステートメントpublic static void main(String[] args)
をいじる必要がある場合があります。 Javaクラスをコンパイルして実行する方法を必ず理解してください。)package
import
Counter