Требования
Предположим, что существует существующий класс ICalculator, который моделирует калькулятор целочисленной арифметики и содержит:
переменная экземпляра currentValue, в которой хранится текущее значение int калькулятора, доступ к которой и ее изменение может получить любой подкласс.
методы add, sub, mul и div
Каждый метод в ICalculator получает аргумент int, применяет свою операцию к currentValue и возвращает новое значение currentValue. Таким образом, если currentValue имеет значение 8 и вызывается sub(6), то currentValue заканчивается значением 2, и возвращается 2.
Итак, вам нужно написать определение подкласса ICalculator2, основанного на ICalculator. Класс ICalculator2 имеет один дополнительный метод, отрицание, который не получает аргументов. Эффект отрицания заключается в изменении знака currentValue. Например, если currentValue равно нулю, изменений нет, если -22, то становится 22, если 100, становится -100. Кроме того, отрицание возвращает новое значение 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
Советы:
- Вы можете использовать: ‹
- Вы уверены, что хотите использовать: =
-1
- person rbhawsar   schedule 26.10.201222
и100
в своем коде. Это были просто примеры. Вы должны написать общий методnegate()
, который работает с любым числом, а не только с нулем, 22 и 100. - person Jim Garrison   schedule 26.10.20120
к значению? в чем смысл? - person RGO   schedule 26.10.2012