Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
1 / 1 / 0
Регистрация: 13.12.2017
Сообщений: 16

Задача по наследованию в Java

08.05.2019, 12:28. Показов 2486. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Первые три класса (суперкласс, являющийся абстрактным, а также два его подкласса) зависят от варианта выполнения работы. В каждом из этих классов необходимо создать:

1) переменные экземпляра (в соответствии с вариантом), каждая со спецификатором доступа private;

2) конструктор с параметрами;

3) метод show (со спецификатором доступа public), обеспечивающий вывод на экран значений всех переменных экземпляра в удобном виде (в суперклассе этот метод является абстрактным, а в каждом подклассе он переопределен);

4) методы-селекторы (со спецификатором доступа public), обеспечивающие получение значения каждой из переменных экземпляра.

Четвертый класс содержит метод main() и предназначен для демонстрации работы с объектами подклассов. В методе main() должно производиться следующее:

1) Создаются массив объектов первого подкласса и массив объектов второго подкласса. Количество объектов и значения переменных экземпляра каждого объекта пользователь вводит с клавиатуры.

2) Производится сортировка каждого массива по возрастанию (в соответствии с вариантом).

3) С помощью метода show() выводится информация обо всех объектах из каждого массива.

4) С помощью метода show() выводится информация об объектах первого подкласса, удовлетворяющих ограничению (в соответствии с вариантом). Если таких объектов нет, то выводится соответствующее сообщение.

5) С помощью метода show() выводится информация об объектах второго подкласса, удовлетворяющих ограничению (в соответствии с вариантом). Если таких объектов нет, то выводится соответствующее сообщение.

Суперкласс «Спортсмен». Переменные экземпляра: – ФИО (строковый тип); – название команды (строковый тип). Первый подкласс «Футболист». Переменные экземпляра: – число голов (целый тип). Второй подкласс «Спринтер». Переменные экземпляра: – рекорд на 100 м, с (вещественный тип).
---------------------------------------------------------------------
При выводе на экран перечня всех футболистов сортировку производить по числу голов, а при выводе перечня всех спринтеров – по рекорду на 100 м.
---------------------------------------------------------------------
Необходимо вывести на экран: 1) перечень футболистов, число голов у которых от 20 (включительно) до 35 (включительно); 2) перечень спринтеров, пробежавших 100 м за наименьшее время.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2019, 12:28
Ответы с готовыми решениями:

Непонятка по наследованию
Объясните пожалуйста такой момент. Ниже приведу код программы результат ее работы два сообщения: "Поле y=0 Поле y=228 ". Не...

Работа в Eclipse по наследованию
Создать абстрактный класс Строение (в качестве свойств использовать координаты, количество окон и дверей). Создать массив объектов...

Решаю задачу по наследованию
Добрый день, есть 3 класса наследования рабочий - начальник - босс, создал в классе Рабочий ArrayList с перечислением рабочих, а классе...

2
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
08.05.2019, 12:33
нормальная задача, в чем там сложность то может быть?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.05.2019, 14:31
Лучший ответ Сообщение было отмечено Ksenons как решение

Решение

Ksenons, я ж тебе написАл намедни. То же самое ведь.
Чуть-чуть подправить

Добавлено через 52 минуты
Main
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
package ru.ismoke;
 
import java.util.Arrays;
import java.util.Scanner;
 
public class Cyber {
    private static final int MIN_GOALS = 20;
    private static final int MAX_GOALS = 35;
    private static final double BEST_TIME = 10.;
 
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
 
        Sportsman[] soccermen = new Soccerman[5];
        Sportsman[] sprinters = new Sprinter[5];
        String name, team;
        double record;
        int goals;
 
        for (int i = 0; i < 5; i++) {
            System.out.printf("Name of %d soccerman: ", i);
            name = scan.nextLine();
            System.out.print("Title of team: ");
            team = scan.nextLine();
            System.out.print("Goals: ");
            goals = scan.nextInt();
            soccermen[i] = new Soccerman(name, team, goals);
            System.out.println();
        }
 
        for (int i = 0; i < 5; i++) {
            System.out.printf("Name of %d sprinter: ", i);
            name = scan.nextLine();
            System.out.print("Title of team: ");
            team = scan.nextLine();
            System.out.print("Record: ");
            record = scan.nextDouble();
            sprinters[i] = new Sprinter(name, team, record);
            System.out.println();
        }
 
        Arrays.sort(soccermen);
        Arrays.sort(sprinters);
 
        for (Sportsman soccerman : soccermen) {
            soccerman.show();
        }
 
        for (Sportsman sprinter : sprinters) {
            sprinter.show();
        }
 
        System.out.println("\nTask1:\n");
        Arrays.stream(soccermen)
                .map(x -> (Soccerman) x)
                .filter(x -> x.getGoalsCount() >= MIN_GOALS && x.getGoalsCount() <= MAX_GOALS)
                .forEach(System.out::println);
 
        System.out.println("\nTask2:\n");
        Arrays.stream(sprinters)
                .map(x -> (Sprinter) x)
                .filter(x -> x.getRecord() <= BEST_TIME)
                .forEach(System.out::println);
 
    }
}

Sportsman
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package ru.ismoke;
 
public abstract class Sportsman {
    private String name;
    private String team;
 
    public Sportsman(String name, String team) {
        this.name = name;
        this.team = team;
    }
 
    public abstract void show();
 
    public String getName() {
        return name;
    }
 
    public String getTeam() {
        return team;
    }
}

Soccerman
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
package ru.ismoke;
 
public class Soccerman extends Sportsman implements Comparable<Soccerman> {
    private int goalsCount;
 
    public Soccerman(String name, String team, int goalsCount) {
        super(name, team);
        this.goalsCount = goalsCount;
    }
 
    public int getGoalsCount() {
        return goalsCount;
    }
 
    @Override
    public int compareTo(Soccerman o) {
        return goalsCount - o.goalsCount;
    }
 
    @Override
    public void show(){
        System.out.println("Soccerman{ name: " + super.getName() + ", team: " + super.getTeam()+ "goals: " + goalsCount);
    }
}

Sprinter
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
package ru.ismoke;
 
public class Sprinter extends Sportsman implements Comparable<Sprinter> {
    private double record;
 
    public Sprinter(String name, String team, double record) {
        super(name, team);
        this.record = record;
    }
 
    public double getRecord() {
        return record;
    }
 
    @Override
    public int compareTo(Sprinter o) {
        return Double.compare(record, o.record);
    }
 
    @Override
    public void show() {
        System.out.println("Sprinter{ name: " + super.getName() + ", team: " + super.getTeam() + "record: " + record);
    }
}

Ksenons, не проверял, лень
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2019, 14:31
Помогаю со студенческими работами здесь

Задачки по наследованию, полиморфизму, GUI, потокам и т.п
Всем привет. Хотелось бы по мере изучения концепции ЯП Java подкреплять изученный теоретический материал практикой. Был бы крайне...

Приведение параметра по наследованию (при параметризации)
Обнаружил, что такой код не исполняетсяimport java.util.ArrayList; public class Main { public static class Parent { ...

Задача по наследованию в C++, нужно реализовать некоторые моменты
Написать программу с объектами и реализовать наследование. Ситуация: Klimat (базовый объект), Derevo (выводной объект). a. Klimat:...

Задача по наследованию. Не понимаю некоторые моменты в формулировке задания
Здравствуйте! Вот есть задание: Описать базовый класс СТРОКА Обязательные поля класса: # Указатель на char - хранит адрес...

По наследованию
Решил заняться паттернами проектирования и возник вопрос. Допустим есть абстрактный класс public abstract class First { ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru