С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 15.02.2022
Сообщений: 7

Интерфейсы, классы.

15.02.2022, 22:04. Показов 2248. Ответов 8

Студворк — интернет-сервис помощи студентам
1.Создать интерфейс Animal (животное), содержащий методы: расчет
количества корма (принимаемые параметры: вес и возраст животного), вывод информации о животном.
2.Создать два класса Dog (собака) и Cat (кошка),
реализующих этот интерфейс. Создать группу объектов классов Dog и Cat.
3.Создать третий класс SearchInfo, позволяющий выводить информацию о
животных, употребивших наибольшее количество корма, значение которого
введено с клавиатуры.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.02.2022, 22:04
Ответы с готовыми решениями:

Проблема в понимании ООП(абстрактные классы, классы интерфейсы)
Всем здравия. Читал в свое время разные книги(к примеру, Гради Буч по проектированию) вроде все было понятно. Но тут с толкнулся с...

Классы и интерфейсы
Есть такой вот код: public class example { interface I1 { void i1(); } interface I2 extends I1 {

Интерфейсы и классы
Добрый день! у меня есть маленькая проблема. Суть проблемы: есть общий интерфейс и классы для экспортирование табличной информации в MS...

8
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
16.02.2022, 11:37
Spasibo1, почитай Правила форума, в частности п. п. 4.4.
0
7 / 5 / 3
Регистрация: 02.11.2019
Сообщений: 85
16.02.2022, 12:10
Лучший ответ Сообщение было отмечено Spasibo1 как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import java.util.Scanner;
 
public class SearchInfo {
 
    public static void main(String[]args){
        String [] names = {"Мурзик", "Мурчик","Мурчелло","Пирожок"};
 
        Animals[] animals = new Animals[4];
        for(int i = 0; i < 3; i++){
            animals[i] = new Cat(names[i],i+1,i);
        }
        animals[3] = new Dog(names[3],4,3);
        Scanner sc = new Scanner(System.in);
        int feed = sc.nextInt();
        System.out.println("Вы ввели: "+ feed + " корма");
        for(int i = 0; i < animals.length; i++){
            if(feed >=animals[i].feed ){
                System.out.println(animals[i]);
            }
        }
 
    }
 
}
 
interface Animal {
    int countFeed(int weight, int year);
    void showInfo();
 
}
 
class Animals implements Animal{
 
    String name;
     int feed;
     int year;
     int weight;
 
    public Animals(){
 
    }
 
    public Animals(String name, int weight,int year){
        this.name = name;
        this.weight = weight;
        this.year = year;
    }
 
    @Override
    public int countFeed(int weight, int year) {
        return 0;
    }
 
    @Override
    public void showInfo() {
 
    }
}
 
class Cat extends Animals {
 
    public Cat(){
 
    }
 
    public Cat(String name, int weight, int year){
        super(name,weight,year);
        countFeed(weight,year);
    }
 
    @Override
    public int countFeed(int weight, int year) {
        if(year > 1){
            feed = weight*12; //На 1 килограм веса 12 грам корма, если коту больше 1 года
            return feed;
        }
        feed = weight*17; // Для котёнка ~ 17 грам на килограм весу
        return feed;
    }
 
    @Override
    public void showInfo() {
        System.out.println("Имя кошки: "+ name + " возраст: " + feed + " грам корма на " + weight + " весу");
    }
}
 
class Dog extends Animals {
 
    public Dog(){
 
    }
 
    public Dog(String name, int weight, int year){
        super(name,weight,year);
        countFeed(weight,year);
    }
 
    @Override
    public int countFeed(int weight, int year) {
        if(year > 3){
            feed = weight*30; //На 1 килограм веса 30 грам корма, если собаке больше 3 лет
            return feed;
        }
        feed = weight*25; // Для маленького пса ~ 25 грам на килограм весу
        return feed;
    }
 
    @Override
    public void showInfo() {
        System.out.println("Имя собаки: "+ name + " возраст: "+ year + " лет нужно " + feed + " грам корма на " + weight + " весу");
    }
}
1
0 / 0 / 0
Регистрация: 15.02.2022
Сообщений: 7
16.02.2022, 20:27  [ТС]
Спасибо большое!!!
Немножко конечно пришлось корректировать, но вы мне очень помогли начать.
0
0 / 0 / 0
Регистрация: 04.09.2022
Сообщений: 3
04.09.2022, 11:55
Добрый день! Подскажите, что вы редактировали? У меня через NetBeans не компилируется
0
145 / 134 / 22
Регистрация: 28.06.2015
Сообщений: 674
05.09.2022, 11:15
Там просто ввод с клавиатуры ожидается стразу, введите в консоль цифру 1-4.
0
0 / 0 / 0
Регистрация: 04.09.2022
Сообщений: 3
06.09.2022, 16:24
А дальше как она работает?
0
145 / 134 / 22
Регистрация: 28.06.2015
Сообщений: 674
07.09.2022, 10:35
Никак. Там задание из старта поста не выполнено до конца, класс SearchInfo - не реализован. Это просто заготовка.
Вывод работать не будет. Но что бы посмотреть как работает именно эта реализация можно сделать так:
В методе main заменить вывод, на вот такой
Java
1
2
3
4
5
for(int i = 0; i < animals.length; i++){
            if(feed <animals[i].countFeed(i+1, feed) ){
                System.out.println(animals[i].showInfo());
            }
        }
И соответственно переписать немного метод
Java
1
showInfo()
Java
1
2
3
4
5
 @Override
    public String showInfo() {
        System.out.println("Имя собаки: "+ name + " возраст: "+ year + " лет нужно " + feed + " грам корма на " + weight + " весу");
      return "";
    }
И само собой в интерфейсе тоже
Java
1
2
3
4
interface Animal {
    int countFeed(int weight, int year);
    String showInfo(); 
}
И этот полтергейст оживет. Правда ХЗ для чего. Там даже грамматические ошибки есть...
0
0 / 0 / 0
Регистрация: 04.09.2022
Сообщений: 3
07.09.2022, 16:06
Сделал по Вашим комментариям. Вообще пошло все наперекосяк!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.09.2022, 16:06
Помогаю со студенческими работами здесь

Классы и интерфейсы
Мне нужно опишите интерфейс для алгоритма поиска подстроки. Метод интерфейса должен возвращать список позиций, начиная с которых подстрока...

Классы и интерфейсы
Задание выглядит след образом - Создайте библиотеку классов, состоящую из геометрических фигур - круга, ромба, параллелограмма, трапеции,...

Интерфейсы и классы
Подскажите пожалуйста. Как среди подключенных классов, не зная их имен, выбрать те, которые наследуют определенный интерфейс?

Интерфейсы и классы
Здравствуйте, уважаемые Форумчане, возникла такая задача(см. ниже), из этого сделал первые два пункта с Интерфейсом и Абстрактным классом,...

Интерфейсы и классы
Просьба проверить наличие ошибок в заданиях А и Б. И помочь с В и Г :) Задание А: Создать интерфейс Run, для описания транспорта....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru