Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 08.09.2018, 06:41   #1
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию Форматирование.

Здравствуйте!
Есть желание написать как можно меньше строк кода при решении задачи.
В программе такая вот строка в методе.
Код:

System.out.println("Тригонометрическая форма числа "+c+" z="+mod+"*(cos"+arg+"+sin"+arg+"i)");

Результат представлен так:
Код:

Тригонометрическая форма числа 4 z=9.219544457292887*(cos1.3521273809209546+sin1.3521273809209546i)

Как в такой ситуации использовать форматирование типа
Код:

%.2f

?
Конечно я могу написать дополнительные строки кода наделав там стрингов которые потом повставляю в итоговую строку. Но есть ли возможность вот так, на ходу в одной строке это сделать?
KAMLS вне форума   Ответить с цитированием
Старый 08.09.2018, 07:20   #2
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,146
Репутация: 840
По умолчанию

System.out.printf устроит?
Black Fregat вне форума   Ответить с цитированием
Старый 08.09.2018, 10:23   #3
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
System.out.printf устроит?
Вы не точно поняли суть вопроса.
Вы не сможете воткнуть в представленную строку %.2f. Будут ошибки.
KAMLS вне форума   Ответить с цитированием
Старый 08.09.2018, 12:24   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,615
Репутация: 5352
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Вы не точно поняли суть вопроса.
А Вы не поняли ответа Black Fregat

форматированный вывод можно использовать в методе System.out.printf (или System.out.format)
см. https://docs.oracle.com/javase/tutor...berformat.html


Цитата:
Сообщение от KAMLS Посмотреть сообщение
Вы не сможете воткнуть в представленную строку %.2f. Будут ошибки.
можно воткнуть. Если только формат "воткнуть", то ошибок не будет.
но работать, конечно, не будет.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 08.09.2018, 14:21   #5
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
но работать, конечно, не будет.
)) Дак весь в том прикол, что мне надо чтобы работало))
Потому изначально и спросил, это возможно или нет?
Я могу просто наделать дополнительных переменных, и или поформатировать их и потом составить строку, или поокруглять математически без строк и также повтыкать в ту строку которая показана в теме.
Вопрос в том, как сделать так, чтобы было меньше строк кода.
KAMLS вне форума   Ответить с цитированием
Старый 08.09.2018, 14:39   #6
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,401
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

System.out.printf
Alex11223 на форуме   Ответить с цитированием
Старый 08.09.2018, 14:57   #7
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,146
Репутация: 840
По умолчанию

Код:

import java.util.Locale;

public class TestPrintf {
  public static void main(String [] args) {
    double mod = 9.219544457292887;
    double arg = 1.3521273809209546;
    System.out.println("Тригонометрическая форма числа z = "+mod+" * (cos("+arg+") + i*sin("+arg+"))");
    System.out.printf("Тригонометрическая форма числа z = %.2f * (cos(%.2f) + i*sin(%.2f))\n", mod, arg, arg);
    System.out.printf(Locale.US, "Тригонометрическая форма числа z = %.2f * (cos(%.2f) + i*sin(%.2f))\n", mod, arg, arg);
  }
}

Black Fregat вне форума   Ответить с цитированием
Старый 08.09.2018, 17:46   #8
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

Спасибо. Стыдно даже. Но я действительно не мог догнать как надо делать по учебникам и по сети. Там я такого просто не нашел. Сейчас я понял принцип как это делать. Спасибо.
KAMLS вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматирование LinaMin Железо 7 21.11.2017 23:47
Форматирование Helennna Microsoft Office Word 5 21.09.2011 17:44
форматирование wexon Microsoft Office Excel 2 29.11.2010 22:20
Форматирование uranmaximum Microsoft Office Excel 9 03.07.2010 01:41
форматирование beygul Помощь студентам 13 07.02.2009 22:18


23:50.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru