Реализуйте класс Int, который выполняет объектно-ориентированные операции с числом.
● методы increment(), увеличивающий на 1 и decrement() уменьшающий значение на 1,
● методы сложения add(Int n) и вычитания substract(Int n)
● метод toString()
По умолчанию, класс инициализируется как «0»
Выполните наименьшее количество операций, чтобы преобразовать из числа 0 в число 1000. (менее чем за 50)
Программа должна быть чисто объектно-ориентированной. Нельзя использовать оператор присваивания.
public class Main
{
private int one;
public int decrement() {
return --one;
}
public int increment() {
return ++one;
}
//методы increment(), увеличивающий на 1 и decrement() уменьшающий значение на 1
public int add(int n) {
if (n == 0) {
return one;
}
else {
increment();
return add(n - 1);
}
}
public int substract(int n) {
if (n == 0) {
return one;
}
//методы сложения add(Int n) и вычитания substract(Int n)
else {
decrement();
return substract(n - 1);
}
}
public String toString() { //метод toString()
return "Is string: " + one;
}
public static void main(String[] args) {
Main numObj = new Main();
System.out.println(numObj.increment());
System.out.println(numObj.decrement());
System.out.println(numObj.add(50));
// System.out.println(numObj.add(numObj.myNum));
System.out.println(numObj.substract(50));
// System.out.println(numObj.substract(numObj.myNum));
while (numObj.add(20) < 1000) {
}
System.out.println(numObj.one);
System.out.println(numObj.toString());
}
}
Говорят неправильно, нужно без использования сторонних цифр. Как?
Kristina Stepanova
2 уровень
Java ооп
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
15 сентября 2022, 09:45
Требуется написать не класс Main, а класс Int, с большой буквы I. Аргументами у метода тоже должны быть объекты этого класса, а не примитивы int. В этом случае ты сможешь поле инкрементить, а результат декрементить.
0
Kristina Stepanova
15 сентября 2022, 09:57
как задать объект , а не примитив?
0
KIRAРазработчик в prosv.ruExpert
15 сентября 2022, 10:06
У вас в задании методы даны
методы сложения add(Int n) и вычитания substract(Int n) типы написаны с большой буквы - это не примитивы
0
Kristina Stepanova
15 сентября 2022, 10:08
и так везде , где int n?
0
KIRAРазработчик в prosv.ruExpert
15 сентября 2022, 10:12
Да, у вас всего 2 таких метода
0