Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Rubanov
5 / 5 / 2
Регистрация: 29.08.2010
Сообщений: 51
1

Абстрактный класс Number

19.04.2013, 01:10. Просмотров 920. Ответов 4
Метки нет (Все метки)

Люди добрые! Подскажите, пожалуйста, можно ли проводить какие-то операции (сложение, вычитание, умножение, деление), не приводя их к определённому виду? Т. е., чтобы при написании библиотеки не надо было задумываться о том, с какими конкретными числами работать надо, лишь бы они были объектами потомков Number. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2013, 01:10
Ответы с готовыми решениями:

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

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

Абстрактный класс
Здравствуйте, помогите с вопросом. Есть абстрактный клас (Entity) от которого...

Абстрактный класс Persona
Помогите пожалуйста дописать код. Нужно вывести людей, возрст которых попадает...

Абстрактный класс и интерфейс
Собственно прочитал в книге про асбрактные классы и интерфейсы. И решил кое...

4
tankomaz
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
440 / 439 / 100
Регистрация: 14.10.2012
Сообщений: 1,147
Записей в блоге: 9
19.04.2013, 02:21 2
double, или если нужен метод-всетиповый, то смотрите в сторону generic методов
0
Skipy
1996 / 1419 / 91
Регистрация: 25.11.2010
Сообщений: 3,611
19.04.2013, 10:35 3
Цитата Сообщение от Rubanov Посмотреть сообщение
Люди добрые! Подскажите, пожалуйста, можно ли проводить какие-то операции (сложение, вычитание, умножение, деление), не приводя их к определённому виду?
Нельзя. Операции с целыми и вещественными по разному обрабатываются процессором. Деление на 0 в случае целых чисел вызовет исключение, а в случае вещественных даст результат NaN. Кроме того, есть нюансы в сравнении чисел - вещественные сравнивают с определенной точностью:

Java
1
2
3
4
float f1 = 0.3f;
float f2 = 0.4f;
float f3 = 0.7f;
System.out.println("0.3f+0.4f==0.7f? "+((f1+f2)==f3));
Вам это вообще зачем?

Добавлено через 1 минуту
Цитата Сообщение от tankomaz Посмотреть сообщение
double
Длины мантиссы double недостаточно для представления чисел типа long, будет потеря точности:

Java
1
2
3
4
5
6
7
8
9
10
long l1 = 9199999999999999999L;
long l2 = 9199999999999999998L;
double d1 = l1;
double d2 = l2;
System.out.println("l1="+l1);
System.out.println("l2="+l2);
System.out.println("d1="+d1);
System.out.println("d2="+d2);
System.out.println("l1==l2: "+(l1 == l2));
System.out.println("d1==d2: "+(d1 == d2));
0
Rubanov
5 / 5 / 2
Регистрация: 29.08.2010
Сообщений: 51
20.04.2013, 01:49  [ТС] 4
Цитата Сообщение от Skipy Посмотреть сообщение
Вам это вообще зачем?
Чтобы организовать класс, который проводит операции с комплексными числами и возможно было в него пихать что-то ещё, для чего определены операции сложения и умножения. Думал, может возможно унаследовать комплексные числа от класса Number, но, видимо, придётся писать свой интерфейс для этой задачи.
0
Skipy
1996 / 1419 / 91
Регистрация: 25.11.2010
Сообщений: 3,611
22.04.2013, 11:19 5
Что-то мне подсказывает, что с 99% случаев Вам хватит точности double. Потому комплексные числа вполне можно реализовать на их основе.
0
22.04.2013, 11:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2013, 11:19

Абстрактный класс и интерфейс
Здравствуйте, есть программа, в которой нужно сделать абстрактный класс и...

Абстрактный класс (фотокаталог)
На экзамене будет задание - написать абстрактный класс Фотокаталог реализующий...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru