У меня есть строка вроде "Я мальчик". Я хочу напечатать таким образом "I (\n новая строка) am (\n новая строка) a (\n новая строка) boy".
Может кто-нибудь мне помочь?
У меня есть строка вроде "Я мальчик". Я хочу напечатать таким образом "I (\n новая строка) am (\n новая строка) a (\n новая строка) 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()
:
String x = "Hello," + System.lineSeparator() + "there";
Это можно сделать несколькими способами. Я упоминаю 2 простых способа.
Очень простой способ, как показано ниже:
System.out.println("I\nam\na\nboy");
Это также можно сделать с помощью конкатенации, как показано ниже:
System.out.println("I" + '\n' + "am" + '\n' + "a" + '\n' + "boy");
System.out.printf("I %n am %n a %n boy");
I
am
a
boy
Лучше использовать %n
как независимый от ОС новый символ новой строки вместо \n
, и это проще, чем использование System.lineSeparator()
Зачем использовать %n
, потому что в каждой ОС новая строка относится к другому набору символов,
Unix and modern Mac : LF (\n)
Windows : CR LF (\r\n)
Older Macintosh Systems : CR (\r)
LF является аббревиатурой Line Feed и CR является аббревиатурой Возврат каретки. Управляющие символы записываются внутри скобок. Таким образом, в каждой ОС новая строка означает нечто специфическое для системы. %n
является агностиком, он переносимый. Он обозначает \n
в системах Unix или \r\n
в системах Windows и так далее. Таким образом, не используйте \n
, а используйте %n
.
Try:
System.out.println("I\nam\na\nboy");
Чтобы переносить код в любую систему, я бы использовал:
public static String newline = System.getProperty("line.separator");
Это важно, потому что разные ОС используют разные обозначения для новой строки: Windows использует "\ r\n", Classic Mac использует "\ r", а Mac и Linux используют "\n".
Комментарии - пожалуйста, поправьте меня, если я ошибаюсь в этом...
\n
используется для создания отдельной строки;
Пример:
System.out.print("I" +'\n'+ "am" +'\n'+ "boy");
Результат:
I
am
boy
Если вы просто хотите напечатать новую строку в консоли, вы можете использовать "\n" для новых строк.
Если вы хотите разбить текст в компонентах swing, вы можете использовать html:
String s = "<html>first line<br />second line</html>";
Если вы хотите, чтобы ваш код os-unspecific, вы должны использовать println для каждого слова
System.out.println("I");
System.out.println("am");
System.out.println("a");
System.out.println("boy");
потому что Windows использует "\ r\n", поскольку новые строки и системы unixoid используют только "\n"
println всегда использует правильный
Как насчет %n
с использованием форматирования, такого как String.format()
?:
String s = String.format("I%nam%na%nboy");
Как этот ответ говорит, что он доступен из java 1.5 и является другим способом System.getProperty("line.separator")
или System.lineSeparator()
, и, подобно этим двум, является ОС независимая.
Полный пример программы с забавным твистом:
Откройте новый пустой документ и сохраните его как %yourJavaDirectory%/iAmABoy/iAmABoy.java
. "iAmABoy" - это имя класса.
Вставьте следующий код и прочитайте его. Помните, я новичок, поэтому я ценю всю обратную связь!
//The class name should be the same as your Java-file and directory name.
class iAmABoy {
//Create a variable number of String-type arguments, "strs"; this is a useful line of code worth memorizing.
public static void nlSeparated(String... strs) {
//Each argument is an str that is printed.
for (String str : strs) {
System.out.println(str);
}
}
public static void main(String[] args) {
//This loop uses 'args' . 'Args' can be accessed at runtime. The method declaration (above) uses 'str', but the method instances (as seen below) can take variables of any name in the place of 'str'.
for (String arg : args) {
nlSeparated(arg);
}
//This is a signature. ^^
System.out.print("\nThanks, Wolfpack08!");
}
}
Теперь, в терминале /cmd, перейдите к %yourJavaDirectory%/iAmABoy
и введите:
javac iAmABoy.java
java iAmABoy I am a boy
Вы можете заменить args I am a boy
на что-нибудь!
вы можете использовать тег <br>
в своей строке для показа на html-страницах
System.out.println( "I\Nam\на\nboy" );
Это работает Он также даст один пробел перед тем, как ввести символ
Перейдите для разделения.
String string = "I am a boy";
for (String part : string.split(" ")) {
System.out.println(part);
}