Saya punya string seperti
"I am a boy".
Saya ingin mencetak seperti ini
"I
am
a
boy".
Adakah yang bisa membantu saya?
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
Anda juga dapat menggunakan
System.lineSeparator()
:sumber
System.getProperty("line.separator")
.String x = "Hello, %n there";
. Menambahkan ruang di sekitar%n
hanya demi keterbacaan.Contoh
Keluaran
Penjelasan
Lebih baik untuk digunakan
%n
sebagai karakter baris baru OS independen daripada\n
dan lebih mudah daripada menggunakanSystem.lineSeparator()
Mengapa menggunakan
%n
, karena pada setiap OS, baris baru mengacu pada serangkaian karakter yang berbeda;LF adalah akronim dari Line Feed dan CR adalah akronim dari Carriage Return . Karakter melarikan diri ditulis di dalam kurung. Jadi pada setiap OS, baris baru singkatan dari sesuatu yang spesifik untuk sistem.
%n
adalah OS agnostik, ini portabel. Itu singkatan\n
dari sistem Unix atau\r\n
pada sistem Windows dan seterusnya. Jadi, Jangan gunakan\n
, sebaliknya gunakan%n
.sumber
Itu bisa dilakukan beberapa cara. Saya menyebutkan 2 cara sederhana.
Cara yang sangat sederhana seperti di bawah ini:
Dapat juga dilakukan dengan penggabungan seperti di bawah ini:
sumber
Mencoba:
sumber
Untuk membuat kode portabel untuk sistem apa pun, saya akan menggunakan:
Ini penting karena OS yang berbeda menggunakan notasi yang berbeda untuk baris baru: Windows menggunakan "\ r \ n", Classic Mac menggunakan "\ r", dan Mac dan Linux keduanya menggunakan "\ n".
Komentator - tolong perbaiki saya jika saya salah tentang ini ...
sumber
\n
digunakan untuk membuat garis terpisah;Contoh:
Hasil:
sumber
Jika Anda hanya ingin mencetak baris baru di konsol, Anda dapat menggunakan ´ \ n´ untuk baris baru.
Jika Anda ingin memecah teks dalam komponen swing, Anda dapat menggunakan html:
sumber
Jika Anda ingin kode Anda tidak spesifik, Anda harus menggunakan println untuk setiap kata
karena Windows menggunakan "\ r \ n" sebagai baris baru dan sistem unixoid hanya menggunakan "\ n"
println selalu menggunakan yang benar
sumber
println()
menambahkan karakter baris baru di akhir string (bukan awal).System.lineSeparator()
atauSystem.getProperty("line.separator")
dapat digunakan untuk membuat sistem kode independen.Bagaimana dengan
%n
menggunakan formatter sepertiString.format()
:Seperti jawaban ini mengatakan, ini tersedia dari java 1.5 dan merupakan cara lain untuk
System.getProperty("line.separator")
danSystem.lineSeparator()
dan, seperti dua ini, adalah OS independen .sumber
finalString = "bandham" + System.lineSeparator() + "manikanta"; System.out.println(finalString);
Keluaran:
bandham manikanta
sumber
Contoh program lengkap, dengan sentuhan menyenangkan:
Buka dokumen kosong baru dan simpan sebagai
%yourJavaDirectory%/iAmABoy/iAmABoy.java
. "iAmABoy" adalah nama kelas.Rekatkan kode berikut dan bacalah. Ingat, saya seorang pemula, jadi saya menghargai semua umpan balik!
Sekarang, di terminal / cmd, browse ke
%yourJavaDirectory%/iAmABoy
dan ketik:Anda dapat mengganti args
I am a boy
dengan apa saja!sumber
args
langsung kenlSeparated()
atau buatnlSeparated()
skalarString
alih-alih array. Opsi pertama mungkin lebih baik. Juga, cetak tanda tangan Anda denganprintln
bukanprint
.main
, gantifor (String arg : args) { nlSeparated(arg); }
dengan adilnlSeparated(args);
.nlSeparated
sudah menerima daftarString
s. Untuk penjelasan yang lebih baik, lihat di sini: stackoverflow.com/a/12534579/2988730Lakukan split.
sumber
System.out.println ("I \ nam \ na \ nboy");
Ini berfungsi Ini akan memberikan satu karakter spasi juga sebelum memasukkan karakter
sumber
Saya menggunakan kode ini
String result = args[0].replace("\\n", "\n");
dengan terminal saya bisa menggunakan arg
I\\nam\\na\\boy
untuk melakukanSystem.out.println
print outsumber
Anda dapat menggunakan
<br>
tag di string Anda untuk ditampilkan di halaman htmlsumber