Saya punya string seperti
"I am a boy".
Saya ingin mencetak seperti ini
"I
am
a
boy".
Adakah yang bisa membantu saya?
Saya punya string seperti
"I am a boy".
Saya ingin mencetak seperti ini
"I
am
a
boy".
Adakah yang bisa membantu saya?
Jawaban:
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()
:
String x = "Hello," + System.lineSeparator() + "there";
System.getProperty("line.separator")
.
String x = "Hello, %n there";
. Menambahkan ruang di sekitar %n
hanya demi keterbacaan.
System.out.printf("I %n am %n a %n boy");
I
am
a
boy
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;
Unix and modern Mac's : LF (\n)
Windows : CR LF (\r\n)
Older Macintosh Systems : CR (\r)
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
.
Itu bisa dilakukan beberapa cara. Saya menyebutkan 2 cara sederhana.
Cara yang sangat sederhana seperti di bawah ini:
System.out.println("I\nam\na\nboy");
Dapat juga dilakukan dengan penggabungan seperti di bawah ini:
System.out.println("I" + '\n' + "am" + '\n' + "a" + '\n' + "boy");
Mencoba:
System.out.println("I\nam\na\nboy");
Untuk membuat kode portabel untuk sistem apa pun, saya akan menggunakan:
public static String newline = System.getProperty("line.separator");
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 ...
\n
digunakan untuk membuat garis terpisah;
Contoh:
System.out.print("I" +'\n'+ "am" +'\n'+ "boy");
Hasil:
I
am
boy
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:
String s = "<html>first line<br />second line</html>";
Jika Anda ingin kode Anda tidak spesifik, Anda harus menggunakan println untuk setiap kata
System.out.println("I");
System.out.println("am");
System.out.println("a");
System.out.println("boy");
karena Windows menggunakan "\ r \ n" sebagai baris baru dan sistem unixoid hanya menggunakan "\ n"
println selalu menggunakan yang benar
println()
menambahkan karakter baris baru di akhir string (bukan awal).
System.lineSeparator()
atau System.getProperty("line.separator")
dapat digunakan untuk membuat sistem kode independen.
Bagaimana dengan %n
menggunakan formatter seperti String.format()
:
String s = String.format("I%nam%na%nboy");
Seperti jawaban ini mengatakan, ini tersedia dari java 1.5 dan merupakan cara lain untuk System.getProperty("line.separator")
dan System.lineSeparator()
dan, seperti dua ini, adalah OS independen .
Pemutusan Jalur Platform-Independen
finalString = "bandham" + System.lineSeparator() + "manikanta";
System.out.println(finalString);
Keluaran:
bandham
manikanta
Catatan:
Java 6: System.getProperty("line.separator") Java 7 & above: System.lineSeparator()
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!
//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!");
}
}
Sekarang, di terminal / cmd, browse ke %yourJavaDirectory%/iAmABoy
dan ketik:
javac iAmABoy.java
java iAmABoy I am a boy
Anda dapat mengganti args I am a boy
dengan apa saja!
args
langsung ke nlSeparated()
atau buat nlSeparated()
skalar String
alih-alih array. Opsi pertama mungkin lebih baik. Juga, cetak tanda tangan Anda dengan println
bukan print
.
main
, ganti for (String arg : args) { nlSeparated(arg); }
dengan adil nlSeparated(args);
. nlSeparated
sudah menerima daftar String
s. Untuk penjelasan yang lebih baik, lihat di sini: stackoverflow.com/a/12534579/2988730
Saya menggunakan kode ini String result = args[0].replace("\\n", "\n");
public class HelloWorld {
public static void main(String[] args) {
String result = args[0].replace("\\n", "\n");
System.out.println(result);
}
}
dengan terminal saya bisa menggunakan arg I\\nam\\na\\boy
untuk melakukan System.out.println
print out
I
am
a
boy
Anda dapat menggunakan <br>
tag di string Anda untuk ditampilkan di halaman html