私はひもが好きです
"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()
を使うこともできます。
String x = "Hello," + System.lineSeparator() + "there";
System.out.printf("I %n am %n a %n boy");
I
am
a
boy
%n
の代わりに\n
をOSに依存しない改行文字として使うほうが良いですし、System.lineSeparator()
を使うよりも簡単です。
なぜ%n
を使うのですか?なぜなら、各OSでは、改行が異なる文字セットを参照するからです。
Unix and modern Mac's : LF (\n)
Windows : CR LF (\r\n)
Older Macintosh Systems : CR (\r)
_ lf _ は 改行 の頭字語、 _ cr _ は キャリッジリターン の頭字語です。エスケープ文字は括弧の中に書かれています。そのため、各OSでは、新しい行はシステム固有のものを表します。 %n
はOSにとらわれず、移植性があります。 Unixシステムでは\n
、Windowsシステムでは\r\n
などを表します。したがって、\n
を使用せず、代わりに%n
を使用してください。
それにはいくつかの方法があります。私は2つの簡単な方法に言及しています。
以下のように非常に簡単な方法:
System.out.println("I\nam\na\nboy");
以下のように連結して行うこともできます。
System.out.println("I" + '\n' + "am" + '\n' + "a" + '\n' + "boy");
試してください:
System.out.println("I\nam\na\nboy");
コードをあらゆるシステムに移植できるようにするには、次のようにします。
public static String newline = System.getProperty("line.separator");
改行に使用するOSによって表記が異なるため、これは重要です。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-specificにしたい場合は、Wordごとにprintlnを使用してください。
System.out.println("I");
System.out.println("am");
System.out.println("a");
System.out.println("boy");
なぜならWindowsは改行として "\ r\n"を使い、unixoidシステムは単に "\ n"を使うからです。
printlnは常に正しいものを使用します
String.format()
のようなフォーマッタを使った%n
はどうでしょうか。
String s = String.format("I%nam%na%nboy");
この答え は、Java 1.5から入手可能であり、System.getProperty("line.separator")
またはSystem.lineSeparator()
への別の方法であり、この2つのように、 OSに依存しない です。
完全なプログラム例、楽しいひねりを加えたもの:
新しい空白の文書を開き、それを%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!");
}
}
では、terminal/cmdで%yourJavaDirectory%/iAmABoy
を参照して次のように入力します。
javac iAmABoy.Java
java iAmABoy I am a boy
引数I am a boy
は何にでも置き換えることができます!
分割してください。
String string = "I am a boy";
for (String part : string.split(" ")) {
System.out.println(part);
}
System.out.println( "私\ n\n\nボーイ");
これは動作しますそれは文字を入力する前にも一緒に1つのスペース文字を与えます