2017-09-07 7 views
0

Ich möchte fragen, was die "%" + something + "" in Java tut? Und können wir nicht einfach "=" anstelle " " mit "=" ersetzen?Java String Format, ersetzen ""

bar = String.format("%" + percentage +"s", " ").replace(" ", "=") 

Antwort

0

Ja. Es ist möglich, direkt so zu schreiben.

bar = String.format("%" + percentage +"s", "="); 
0

Das hängt ein bisschen davon ab, wie viel Prozent ist; wenn es (wie ich annehme) ein int, den Code nur druckt „=“ auf dem Bildschirm „Prozentsatz“ mal

int percentage = 20; 
System.out.println(String.format("%" + percentage +"s", " ").replace(" ", "=")); 
//prints ==================== 

Wenn das die Absicht ist, kann man nicht einfach verlassen das ersetzen Teil aus - oder genauer gesagt: es wird nicht das gleiche Ergebnis:

System.out.println(String.format("%" + percentage +"s", "=")); 
//prints     = 

Erläuterung:

die format("%" + percentage +"s", ...) den zweiten Parameter auf die Länge bringen Sie (in diesem Fall in Prozent) gegeben haben. Wenn die Länge kürzer als der zweite Parameter ist, fügt sie links Leerzeichen hinzu, bis die gewünschte Länge erreicht ist.

Die erste Version verwendet das als "Trick" und ersetzt die anschließend erzeugten Leerzeichen durch ein "=".

Die zweite Version sagt nur: nimm dieses "=" und füge links Leerzeichen hinzu, bis es die gewünschte Länge erreicht hat.

+0

hmm, also warum der zweite Code gibt mir nicht das gleiche Ergebnis? Ich möchte Prozentsätze von "=" –

+0

drucken Ich habe einige weitere Erklärung hinzugefügt – JensS

+0

Wenn das Ihr Problem löst, können Sie bitte die Antwort akzeptieren, um die Frage zu schließen. – JensS