У меня есть строка вроде
"I am a boy".
Я хочу напечатать вот так
"I
am
a
boy".
Кто-нибудь может мне помочь?
System.out.println("I\nam\na\nboy");
System.out.println("I am a boy".replaceAll("\\s+","\n"));
System.out.println("I am a boy".replaceAll("\\s+",System.getProperty("line.separator"))); // portable way
Вы также можете использовать
System.lineSeparator()
:источник
System.getProperty("line.separator")
.String x = "Hello, %n there";
. Добавлены пробелы вокруг%n
только для удобства чтения.пример
Вывод
объяснение
Лучше использовать
%n
как независимый от ОС символ новой строки, а не\n
и это проще, чем использоватьSystem.lineSeparator()
Зачем использовать
%n
, потому что в каждой ОС новая строка относится к разному набору символа (ов);LF - это аббревиатура от Line Feed, а CR - от Carriage Return . Управляющие символы записываются внутри скобок. Таким образом, в каждой ОС новая строка обозначает что-то специфическое для системы.
%n
не зависит от ОС, это переносимо. Это означает в\n
системах Unix или\r\n
в системах Windows и так далее. Таким образом, не используйте\n
, вместо этого используйте%n
.источник
Это можно сделать несколькими способами. Я упоминаю 2 простых способа.
Очень простой способ, как показано ниже:
Это также можно сделать с помощью конкатенации, как показано ниже:
источник
Пытаться:
источник
Чтобы сделать код переносимым в любую систему, я бы использовал:
Это важно, потому что разные ОС используют разные обозначения для новой строки: Windows использует «\ r \ n», классический Mac использует «\ r», а Mac и Linux используют «\ n».
Комментаторы - поправьте меня, пожалуйста, если я ошибаюсь ...
источник
\n
используется для выделения отдельной строки;Пример:
Результат:
источник
Если вы просто хотите напечатать новую строку в консоли, вы можете использовать «\ n» для новой строки.
Если вы хотите разбить текст в компонентах Swing, вы можете использовать html:
источник
Если вы хотите, чтобы ваш код не зависел от ОС, вы должны использовать println для каждого слова
потому что Windows использует "\ r \ n" в качестве новой строки, а системы unixoid используют только "\ n"
println всегда использует правильный
источник
println()
в конец строки (а не в начало) добавляется символ новой строки .System.lineSeparator()
илиSystem.getProperty("line.separator")
может использоваться, чтобы сделать систему кода независимой.А как насчет
%n
использования такого форматераString.format()
?:Как говорится в этом ответе , он доступен из java 1.5 и является другим способом
System.getProperty("line.separator")
или,System.lineSeparator()
и, как эти два, не зависит от ОС .источник
finalString = "bandham" + System.lineSeparator() + "manikanta"; System.out.println(finalString);
Вывод:
bandham manikanta
источник
Пример полной программы с интересным поворотом:
Откройте новый пустой документ и сохраните его как
%yourJavaDirectory%/iAmABoy/iAmABoy.java
. «iAmABoy» - это имя класса.Вставьте следующий код и прочтите его. Помните, я новичок, поэтому ценю все отзывы!
Теперь в терминале / cmd перейдите
%yourJavaDirectory%/iAmABoy
и введите:Вы можете заменить аргументы
I am a boy
чем угодно!источник
args
напрямую,nlSeparated()
либо заставьтеnlSeparated()
взять скалярString
вместо массива. Первый вариант, наверное, лучше. Кроме того, распечатайте свою подпись с помощьюprintln
вместоprint
.main
заменитьfor (String arg : args) { nlSeparated(arg); }
на простоnlSeparated(args);
.nlSeparated
уже принимает списокString
s. Для лучшего объяснения см. Здесь: stackoverflow.com/a/12534579/2988730Сделайте раскол.
источник
System.out.println ( "I \ Nam \ на \ nboy");
Это работает.Он также даст один пробел перед вводом символа
источник
Я использую этот код
String result = args[0].replace("\\n", "\n");
с терминалом я могу использовать arg,
I\\nam\\na\\boy
чтобыSystem.out.println
распечататьисточник
вы можете использовать
<br>
тег в своей строке для отображения на html-страницахисточник