Lernpfad:Würfelspiel in Java/Mit Strings arbeiten: Unterschied zwischen den Versionen

Zeile 29: Zeile 29:
</syntaxhighlight>
</syntaxhighlight>


Die Formatierungszeichen beginnen jeweils mit einem <code>%</code>. Das Zeichen <code>%d</code> steht für '''''d'''ecimal number'', das Zeichen <code>%s</code> für '''''S'''tring''. An Stelle des ersten Platzhalters soll also eine Dezimalzahl, an Stelle des Zweiten eine Zeichenkette eingesetzt werden.
Die Formatierungszeichen beginnen jeweils mit einem <code>%</code>. Das Zeichen <code>%d</code> steht für '''''d'''ecimal number'', das Zeichen <code>%s</code> für '''''S'''tring''. An Stelle des ersten Platzhalters soll also eine Zahl (in diesem Fall eine Ganzzahl), an Stelle des Zweiten eine  
Mittels <code>format</code> kann man nun beliebige Werte einsetzen:
Zeichenkette eingesetzt werden. Mittels <code>format</code> kann man nun beliebige Werte einfügen:


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 37: Zeile 37:
String.format(botschaft, 300, "Susanna"); // Spieler 300 (Susanna) hat gewonnen
String.format(botschaft, 300, "Susanna"); // Spieler 300 (Susanna) hat gewonnen
</syntaxhighlight>
</syntaxhighlight>
Doch die Formatierungsmöglichkeiten gehen noch weiter als bloßes ersetzen. Soll zum Beispiel der Punktestand der Spieler als Rangliste angezeigt
werden, dann müssen die Punktzahlen passend untereinander stehen (rechtsbündig). Dazu könnte man die Punktzahlen nach links mit Nullen auffüllen,
bis alle Punktzahlen gleich viele Zeichen haben.
<syntaxhighlight lang="java">
String eintrag = "%d. %12s: %06d";
String.format(eintrag, 1, "Tim", 1099);  // 1.        Tim: 001099
String.format(eintrag, 2, "Hannes", 100); // 2.      Hannes: 000100
String.format(eintrag, 3, "Johanna", 99); // 3.    Johanna: 000099
</syntaxhighlight>
In diesem Beispiel enthält der String drei Platzhalter:
# <code>%d</code> erwartet wie oben eine Ganzzahl.
# <code>%12s</code> erwartet einen String und reserviert für diesen 12 Stellen. Ist die erhaltene Zeichenkette kürzer, dann werden so viele Leerzeichen eingefügt, dass insgesamt 12 Zeichen vorhanden sind.
# <code>%06d</code> ist wieder eine Ganzzahl, es sind 6 Zeichen vorgesehen, aber an Stelle eines Leerzeichens wird die Ziffer <code>0</code> zum Auffüllen genutzt.
8.581

Bearbeitungen