Как увеличить возраст, чтобы он обновлял значение по умолчанию в классе? Ява [закрыто] ⇐ JAVA
Как увеличить возраст, чтобы он обновлял значение по умолчанию в классе? Ява [закрыто]
РЕШИЛО
Возраст собаки может быть увеличен только на один год и не может быть уменьшен. В моем коде все еще есть ошибка, говорящая, что возраст не увеличивается. В программе регистрации маленьких собак это должно работать так: в меню будет опция «увеличить возраст собаки», при выборе которой запрашивается имя собаки, которое было сохранено ранее (сейчас это не имеет значения), там просто написано «вы обновили возраст собаки» без ввода пользователем, он просто добавляет 1 к текущему возрасту. Надеюсь, это объясняет лучше. Для выполнения задания мне нужно только пройти урок по собакам и пройти тесты, один из которых находится под кодом.
//вместо: общественный недействительный setAge (int newAge) { если (newAge > this.age) { this.age = новыйвозраст; } еще { System.out.println("Возраст не может уменьшаться. Сохранение текущего возраста."); } } //я попробовал это, и это решило ошибки теста: общественная недействительность увеличенияAgeByOne () { если (возраст < Integer.MAX_VALUE) { возраст++; } еще { System.out.println("Возраст не может быть увеличен из-за переполнения."); } } публичный класс Dog { частное имя строки; частная стринговая порода; частный возраст; частный вес; частный двойной хвостДлина; частный статический окончательный двойной TAIL_LENGTH_FOR_DACHSHUND = 3,7; public Dog (строковое имя, строка породы, int возраст, int вес) { это.имя = имя; this.breed = порода; this.age = возраст; this.weight = вес; this.tailLength = TailLength; нормальные буквы(); } публичная строка getName() { вернуть имя; } публичная строка getBreed() { возвратная порода; } общественный int getAge() { возвратный возраст; } общественный недействительный setAge (int newAge) { если (newAge > this.age) { this.age = новыйвозраст; } еще { System.out.println("Возраст не может уменьшаться. Сохранение текущего возраста."); } } ... } Я нашел другие решения, аналогичные тому, которое у меня уже есть, но ни одно из них не работает. Кроме того, когда я удаляю тот, который у меня уже есть, он показывает больше ошибок в тесте, а возраст не увеличивается.
Тест, проверяющий увеличение возраста:
@Test @Заказ(130) @DisplayName("Возраст можно обновить") общественная недействительностьableToIncreaseAge() { Собака Собака; собака = новая собака (DEFAULT_NAME, DEFAULT_BREED, DEFAULT_AGE, DEFAULT_WEIGHT); callAssumedMethodForIncreasingAgeOfDog (собака, 1); AssertEquals(DEFAULT_AGE + 1, Dog.getAge()); собака = новая собака (DEFAULT_NAME, DEFAULT_BREED, DEFAULT_AGE, DEFAULT_WEIGHT); callAssumedMethodForIncreasingAgeOfDog (собака, 3); AssertEquals(DEFAULT_AGE + 3, Dog.getAge()); } @Тест @Заказ(140) @DisplayName("Возраст не может уменьшиться") общественный недействительный способныйToDecreaseAge () { Собака Собака; собака = новая собака (DEFAULT_NAME, DEFAULT_BREED, DEFAULT_AGE, DEFAULT_WEIGHT); callAssumedMethodForIncreasingAgeOfDog (собака, -1); AssertEquals(DEFAULT_AGE, Dog.getAge()); } @Тест @Заказ(150) @DisplayName("Возраст не может уменьшиться за счет переполнения") общественный недействительный способныйToDecreaseAgeThroughOverflow () { Собака Собака; собака = новая собака (DEFAULT_NAME, DEFAULT_BREED, Integer.MAX_VALUE, DEFAULT_WEIGHT); callAssumedMethodForIncreasingAgeOfDog (собака, 1); AssertEquals(Integer.MAX_VALUE, Dog.getAge()); }
РЕШИЛО
Возраст собаки может быть увеличен только на один год и не может быть уменьшен. В моем коде все еще есть ошибка, говорящая, что возраст не увеличивается. В программе регистрации маленьких собак это должно работать так: в меню будет опция «увеличить возраст собаки», при выборе которой запрашивается имя собаки, которое было сохранено ранее (сейчас это не имеет значения), там просто написано «вы обновили возраст собаки» без ввода пользователем, он просто добавляет 1 к текущему возрасту. Надеюсь, это объясняет лучше. Для выполнения задания мне нужно только пройти урок по собакам и пройти тесты, один из которых находится под кодом.
//вместо: общественный недействительный setAge (int newAge) { если (newAge > this.age) { this.age = новыйвозраст; } еще { System.out.println("Возраст не может уменьшаться. Сохранение текущего возраста."); } } //я попробовал это, и это решило ошибки теста: общественная недействительность увеличенияAgeByOne () { если (возраст < Integer.MAX_VALUE) { возраст++; } еще { System.out.println("Возраст не может быть увеличен из-за переполнения."); } } публичный класс Dog { частное имя строки; частная стринговая порода; частный возраст; частный вес; частный двойной хвостДлина; частный статический окончательный двойной TAIL_LENGTH_FOR_DACHSHUND = 3,7; public Dog (строковое имя, строка породы, int возраст, int вес) { это.имя = имя; this.breed = порода; this.age = возраст; this.weight = вес; this.tailLength = TailLength; нормальные буквы(); } публичная строка getName() { вернуть имя; } публичная строка getBreed() { возвратная порода; } общественный int getAge() { возвратный возраст; } общественный недействительный setAge (int newAge) { если (newAge > this.age) { this.age = новыйвозраст; } еще { System.out.println("Возраст не может уменьшаться. Сохранение текущего возраста."); } } ... } Я нашел другие решения, аналогичные тому, которое у меня уже есть, но ни одно из них не работает. Кроме того, когда я удаляю тот, который у меня уже есть, он показывает больше ошибок в тесте, а возраст не увеличивается.
Тест, проверяющий увеличение возраста:
@Test @Заказ(130) @DisplayName("Возраст можно обновить") общественная недействительностьableToIncreaseAge() { Собака Собака; собака = новая собака (DEFAULT_NAME, DEFAULT_BREED, DEFAULT_AGE, DEFAULT_WEIGHT); callAssumedMethodForIncreasingAgeOfDog (собака, 1); AssertEquals(DEFAULT_AGE + 1, Dog.getAge()); собака = новая собака (DEFAULT_NAME, DEFAULT_BREED, DEFAULT_AGE, DEFAULT_WEIGHT); callAssumedMethodForIncreasingAgeOfDog (собака, 3); AssertEquals(DEFAULT_AGE + 3, Dog.getAge()); } @Тест @Заказ(140) @DisplayName("Возраст не может уменьшиться") общественный недействительный способныйToDecreaseAge () { Собака Собака; собака = новая собака (DEFAULT_NAME, DEFAULT_BREED, DEFAULT_AGE, DEFAULT_WEIGHT); callAssumedMethodForIncreasingAgeOfDog (собака, -1); AssertEquals(DEFAULT_AGE, Dog.getAge()); } @Тест @Заказ(150) @DisplayName("Возраст не может уменьшиться за счет переполнения") общественный недействительный способныйToDecreaseAgeThroughOverflow () { Собака Собака; собака = новая собака (DEFAULT_NAME, DEFAULT_BREED, Integer.MAX_VALUE, DEFAULT_WEIGHT); callAssumedMethodForIncreasingAgeOfDog (собака, 1); AssertEquals(Integer.MAX_VALUE, Dog.getAge()); }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить правильную функцию isLeapYear в моем классе даты без абстракции? (Ява)
Anonymous » » в форуме JAVA - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-