![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| BlHol |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 26.11.2005 Репутация: нет Всего: нет |
Добрый день!
Исходные данные. Есть класс, создающий точку на плоскости с координатами x,y. В том же классе, хочу добавить метод переводящий декартовы координаты в полярные. Причем, нужно чтобы перевод обеих координат был в пределах одного метода и полярные координаты возвращались из метода в виде объекта (чтоб обе сразу, а не на каждую по методу:
Проблема в строковом представлении. При указанной выше перегрузке toString(), при вызове данного класса выдаются все четыре координаты. А мне нужно, чтобы выводились только те пары координат, которые требуются. Если в toString() указывать только x и y, то rad и phi вообще не выдаются. Вторая перегрузка toString() не получается. Вобщем, что делать? Заранее благодарен. С уважением |
|||
|
||||
| Alagert |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 25.8.2005 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Как то пространно ты объясняешь
Ща у тебя явно написан вывод и декартовых и полярных. Так что не удивляйся, что выводится их 4 штуки. --------------------
[color=blue]BORN TO BE ROOT#[/color] |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
добавь к примеру флаг, значение которого будет идентифицировать в каком виде возвращать координаты. В методе toString() проверяй состояние флага и в зависимости он него делай возврат. Либо полярные, либо декартовые.
Это сообщение отредактировал(а) powerOn - 25.1.2007, 10:59 |
|||
|
||||
| BlackStar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 13.12.2006 Репутация: нет Всего: 5 |
А почему бы не создать отдельный метод для каждого представления (eg. getPolarStr()) ?
А если уж есть необходимость в toString() то тогда добавить флаг и метод который его выставляет в класс и в зависимости от флага возвращать нужное представление. UPD: Oops! Мои мысли уже прочитаны powerOn Это сообщение отредактировал(а) BlackStar - 25.1.2007, 11:05 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Метод toString() предназначен для отладки (запись в логи и т.п.), и должен выдавать максимально полную информацию об объекте. А для отображения пользователю создан класс Format.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| BlHol |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 26.11.2005 Репутация: нет Всего: нет |
С флагом идею уже думал. Но хочу туда добавить еще методы для перевода декартовых координат в сферические и цилиндрические. Тогда, как флаг использовать?
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Ну или реализовать интефейс Formattable из JDK 1.5 и печетать через printf().
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| BlackStar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 13.12.2006 Репутация: нет Всего: 5 |
Подсказка: флаг не обязательно должен иметь тип boolean. Это сообщение отредактировал(а) BlackStar - 25.1.2007, 12:12 |
|||
|
||||
| BlHol |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 26.11.2005 Репутация: нет Всего: нет |
С флагом все замечательно. А если нужно вывести, в том числе, и все четыре координаты. Потом там еще и сферические с цилиндрическими появятся. Их тоже нужно будет выводить либо по-отдельности (попарно), либо в сочетании с другими. Как, в данном случае, быть?
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Используй форматер. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Shurr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 24.10.2006 Репутация: 5 Всего: 7 |
Используй битовые маски для маскирования тех элементов, которые надо отображать. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |