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

Создать абстрактный класс Pair с виртуальными арифметическими операциями + производный класс Complex

06.01.2018, 18:40. Показов 3175. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать абстрактный базовый класс Pair с виртуальными арифметическими операциями (+-*/).
Реализовать производный класс Complex – комплексные числа.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.01.2018, 18:40
Ответы с готовыми решениями:

Класс: Создать абстрактный класс Mashine и подклассы: автомобили, грузовики.
Создать абстрактный класс Mashine, затем подклассы: автомобили, грузовики. Создать интерфейсы: грузовые и легковые. Организовать...

Создать базовый и производный класс
Создать базовый класс Человек. Каждый объект класса должен содержать следующие данные: ФИО, год рождения, пол. Класс должен выполнять...

Создать производный от класса «Человек» класс «Путешественник»
Создать производный от класса «Человек» класс «Путешественник», содержащий следующие данные: • название тура, • дата начала тура, ...

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
06.01.2018, 19:20
язык точно java?
0
-1 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 10
06.01.2018, 20:09  [ТС]
xoraxax, да, java
0
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
07.01.2018, 01:24
Внимательно следим за ответами знатоков.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
07.01.2018, 01:49
Цитата Сообщение от Alena_St Посмотреть сообщение
да, java
Цитата Сообщение от Alena_St Посмотреть сообщение
с виртуальными арифметическими операциями (+-*/)
В Java нет перегрузки операторов и понятия виртуальности методов.
1
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
07.01.2018, 02:26
Таки korvin_, как всегда, прав. Это из С# .
0
230 / 199 / 71
Регистрация: 21.10.2016
Сообщений: 449
07.01.2018, 03:29
упрощенно, в декартовых координатах:
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
abstract public class Pair {
 
    private final double x;
    private final double y;
 
    public Pair(double x, double y) {
        this.x = x;
        this.y = y;
    }
 
    public double getX() {
        return x;
    }
 
    public double getY() {
        return y;
    }
 
    // addition
    abstract public Pair add(Pair p);
 
    // subtraction
    abstract public Pair sub(Pair p);
 
    // multiplication
    abstract public Pair mul(Pair p);
 
    // division
    abstract public Pair div(Pair p);
 
    @Override
    public String toString() {
        return "(" + x + ", " + y + ")";
    }
}
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
public class Complex extends Pair {
 
    public Complex(double x, double y) {
        super(x, y);
    }
 
    public Complex add(Pair z) {
        return new Complex(getX() + z.getX(), getY() + z.getY());
    }
 
    public Complex sub(Pair z) {
        return new Complex(getX() - z.getX(), getY() - z.getY());
    }
 
    public Complex mul(Pair z) {
        Complex result = new Complex(
            (getX() * z.getX()) - (getY() * z.getY()),
            (getX() * z.getY()) + (getY() * z.getX()));
        return result;
    }
 
    public Complex div(Pair z) {
        final double denominator = (z.getX() * z.getX()) + (z.getY() * z.getY());
        final double realPart = (getX() * z.getX() + getY() * z.getY()) / denominator;
        final double imagePart = (getY() * z.getX() - getX() * z.getY()) / denominator;
        return new Complex(realPart, imagePart);
    }
 
    public static void main(String[] args) {
        Complex a = new Complex(1, 2);
        Complex b = new Complex(3, 4);
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println();
 
        System.out.println("a + b = " + a.add(b));
        System.out.println("a - b = " + a.sub(b));
        System.out.println("a * b = " + a.mul(b));
        System.out.println("a / b = " + a.div(b));
    }
}
Bash
1
2
3
4
5
6
7
8
9
const@mate ~/progs $ javac Complex.java
const@mate ~/progs $ java Complex
a = (1.0, 2.0)
b = (3.0, 4.0)
 
a + b = (4.0, 6.0)
a - b = (-2.0, -2.0)
a * b = (-5.0, 10.0)
a / b = (0.44, 0.08)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.01.2018, 03:29
Помогаю со студенческими работами здесь

Создать абстрактный класс
Создать абстрактный класс Товар с методами, позволяющим вывести на экран информацию о товаре, а также определить, соответствует ли она...

Создать абстрактный базовый класс Body
Создать абстрактный базовый класс Body (тело) с абстрактными методами вычисления площади поверхности и объема. Создать производные классы:...

Создать абстрактный класс Body и классы на его основе
Создать абстрактный класс Body. На его основе реализовать классы Parallelepiped (прямоугольный параллелепипед), Cone (конус) и Ball ...

Создать абстрактный класс Книга и его подклассы Справочник и Энциклопедия
Абстрактный класс Книга (Шифр, Автор, Название, Год, Издательство). Подклассы Справочник и Энциклопедия.

Создать абстрактный класс Norm с абстрактными методами вычисления нормы и модуля
Создать абстрактный класс Norm с абстрактными методами вычисления нормы и модуля. Определить производные классы Complex, Vector3D с...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru