Rechtsbündige Ausgabe von Zahlen

Hallo :) undzwar hätte ich eine Frage zu meinem kleinen Programm:

ich würde gerne die Ergebnisse rechtsbündig haben also so, dass alles untereinander steht. "=" unter "=", die "1" von der 100 unter der "9" von der 90 usw.

Wäre lieb wenn mir da jemand weiterhelfen könnte :)Bildschirmfoto 2019-11-08 um 22.16.33.png
 
Wie sieht denn dein Versuch aus?
Und Code bitte in Code-Tags posten und nicht als Screenshot. Kopierbarer Code erhöht die Wahrscheinlichkeit, dass dir jemand an deinem konkreten Code hilft, enorm.
 
Java:
public class Tabelle2
{
    public static void main(String[] args)

    {
        for (int i = 10; i <= 20; i++)
        {
            System.out.println("\n" + i + ":\n- - -");
            for (int j = 1; j <= 10; j++)

                {
                    System.out.println(j + " " + "x" + " " + i + " " + "=" + " " + (i * j));

                }
                    System.out.println("==============");

        }
    }
}
Danke für den Hinweis :) ich weiss nicht wo ich String.format einbauen muss und wie ich damit formulieren muss
 
Also generell hat Java die Möglichkeit, Dinge zu formatieren.

Dazu kann man dann, so wie von @Wurstkopp vorgeschlagen, die Klasse NumberFormat benutzen. Aber Da du ja mehrere Werte ausgeben willst und du derzeit das mit vielen String Objekten löst, wäre String.format die bessere Wahl:
String.format("%d x %d = %d",j, i, i * j);
wäre erst einmal deine bisherige Lösung ohne String Concatenation.

Nun kann man noch die %d, welche Platzhalter sind für Zahlen, mit Format-Anweisungen belegen:
%10d würde die Zahl immer mit 10 Zeichen darstellen (Leerzeichen aufgefüllt) also z.B. " 1"
%010d ist wie oben, nur statt Leerzeichen würden 0 verwendet, also z.B. "0000000001"
%-10d macht es linksbündig also z.B. "1 "
Wenn man positive wie negative zahlen bringen will:
% d lässt ein Leerzeichen für das +, das - ist ehh Standard und würde halt den Platz, den es braucht, bekommen.
Mit einem %+d würde das + Zeichen immer angezeigt bei positiven Zahlen.
Bei dem Leerzeichen und + lässt sich natürlich noch die Anzahl der Ziffern hinzufügen ...

Mehr zu den Formatierungsmöglichkeiten findet sich z.B. unter https://dzone.com/articles/java-string-format-examples

Und String.format gibt ja den formatierten String zurück. Und den willst Du ja ausgeben, also brauchst Du sowas wie
System.out.println(String.format("....", ....));
 
Also generell hat Java die Möglichkeit, Dinge zu formatieren.

Dazu kann man dann, so wie von @Wurstkopp vorgeschlagen, die Klasse NumberFormat benutzen. Aber Da du ja mehrere Werte ausgeben willst und du derzeit das mit vielen String Objekten löst, wäre String.format die bessere Wahl:
String.format("%d x %d = %d",j, i, i * j);
wäre erst einmal deine bisherige Lösung ohne String Concatenation.

Nun kann man noch die %d, welche Platzhalter sind für Zahlen, mit Format-Anweisungen belegen:
%10d würde die Zahl immer mit 10 Zeichen darstellen (Leerzeichen aufgefüllt) also z.B. " 1"
%010d ist wie oben, nur statt Leerzeichen würden 0 verwendet, also z.B. "0000000001"
%-10d macht es linksbündig also z.B. "1 "
Wenn man positive wie negative zahlen bringen will:
% d lässt ein Leerzeichen für das +, das - ist ehh Standard und würde halt den Platz, den es braucht, bekommen.
Mit einem %+d würde das + Zeichen immer angezeigt bei positiven Zahlen.
Bei dem Leerzeichen und + lässt sich natürlich noch die Anzahl der Ziffern hinzufügen ...

Mehr zu den Formatierungsmöglichkeiten findet sich z.B. unter https://dzone.com/articles/java-string-format-examples

Und String.format gibt ja den formatierten String zurück. Und den willst Du ja ausgeben, also brauchst Du sowas wie
System.out.println(String.format("....", ....));
Dankeschön hat funktioniert :)
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben