要件
整数算術計算機をモデル化し、以下を含む既存のクラス ICalculator が利用可能であると仮定します。
電卓の現在の int 値を格納し、任意のサブクラスからアクセスおよび変更できるインスタンス変数 currentValue。
メソッド add、sub、mul、および div
ICalculator の各メソッドは int 引数を受け取り、その操作を currentValue に適用して、currentValue の新しい値を返します。したがって、currentValue の値が 8 で、sub(6) が呼び出された場合、currentValue の値は 2 になり、2 が返されます。
したがって、ICalculator に基づいてサブクラス ICalculator2 の定義を記述します。クラス ICalculator2 には、引数を受け取らない 1 つの追加メソッド negate があります。ネゲートの効果は、currentValue の符号を反転することです。たとえば、currentValue が 0 の場合は変化なし、-22 の場合は 22 になり、100 の場合は -100 になります。さらに、negate は currentValue の新しい値を返します。
ソースコード
public class ICalculator2 extends ICalculator {
public int negate() {
int val = add(0);
if (val == -22) return val * -1;
else if (val == 100) return val * -1;
else return 0;}}
備考:
- コードの実行中にエラーが発生しました
その他のヒント:
100 以外の数値を使用することもできます
22 以外の数値を使用することもできます
本当に使用しますか: val
ヒント:
- 以下を使用するとよいでしょう: <
- 使用してもよろしいですか: =