Java: Cara membenarkan teks dengan Variabel

Saya mencoba menyelaraskan beberapa teks di sisi kanan seperti:

String text = "whatever";
System.out.printf("%4s", text);

Kecuali alih-alih angka 4 dalam skema format, saya ingin menggunakan variabel integer, tetapi saya tidak tahu cara melakukannya. Tolong bantu.

Apa yang saya coba:

int spaceCount = 4;
String text = "whatever";
System.out.printf("%{spaceCount}s", text);

person LilGiibb    schedule 20.07.2018    source sumber
comment
lihat ini stackoverflow.com/questions/6080390/java-string -sejajarkan ke kanan   -  person lucumt    schedule 20.07.2018


Jawaban (2)


Java tidak asyik; Anda harus membangun format jadul:

System.out.printf("%" + spaceCount + "s", text);

Jika Anda ingin menghindari pengkodean penggabungan String, Anda dapat memformat format:

System.out.printf(String.format("%%%ds", spaceCount), text);
person Bohemian♦    schedule 20.07.2018

Sebagai printf menunjukkan:

Metode praktis untuk menulis string yang diformat ke aliran keluaran ini menggunakan string format yang ditentukan dan argumen.

Jadi akan mudah untuk mencapai penyelarasan berparameter seperti:

System.out.printf("%" + spaceCount + "s", "Hello");

Juga disebutkan:

Pemanggilan metode formulir out.printf(format, args) ini berperilaku sama dengan pemanggilan: out.format(format, args)

Jadi Anda juga dapat mencapainya sebagai:

System.out.format("%" + spaceCount + "s", "Hello");
person Hearen    schedule 20.07.2018