Was bedeutet System.aus.printf( "%-15s%03d\n", s1, x) zu tun?
String s1=sc.next();
int x=sc.nextInt();
System.out.printf( "%-15s%03d\n", s1, x);
Kann jemand erklären, den Teil innerhalb der 'printf' Zahnspange?
- In der javadoc kann: docs.oracle.com/javase/8/docs/api/java/io/...
- Hast du den Befehl ausführen im java und sehen, was es tut?Haben Sie recherchieren Sie alle Informationen, die überhaupt darüber? Sorry Mann, aber das ist wirklich eines der Dinge, die Sie sollten in der Lage sein, um die Hände nach unten heraus durch sich selbst.docs.oracle.com/javase/tutorial/java/data/numberformat.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist Java-Formatierer-syntax. Finden Sie mehr darüber hier. In Ihrem Fall haben Sie 2 Parameter, die formatiert bekommen.
Ersten
s1
formatiert ist mit%-15s
. Die%
bedeutet, dass was folgt, ist ein argument, das formatiert werden. Dann folgt ein-
was in Linker Ausrichtung.15
füllt den string bis zu einer Länge von 15 Zeichen (hinzufügen von Leerzeichen am Ende). Schließlich dies
bedeutet, dass Sie die Formatierung einer Zeichenfolge.Zweiten
x
formatiert ist mit%03d
. Hier die0
ist die Füll-Zeichen, das heißt, dass, wenn nötig, Nullen Hinzugefügt werden. Die3
ist wieder die Breite, d.h. die fill-Charakter0
Hinzugefügt wird, so oft wie notwendig, um es 3-stellig (in dieser Zeit am Anfang). Schließlichd
bedeutet, dass eine ganze Zahl formatiert ist.Beste tutorial für
printf ()
gibtSind die Grundlagen:
%s
sucht den ersten string als argument Hexe, die es finden kann,%d
für die erste int03
vor%d
ist ein Modifikator, wie genau Sie drucken möchten die Dezimalzahl."%-15s" bedeutet, dass innerhalb von 15 Leerzeichen der Zeichenfolge "s1" gefüllt wird, die in der linken Seite. (füllen Sie die Felder von Links)
"%03d" bedeutet, dass innerhalb von 3 0s, die ganze Zahl"x" gefüllt werden, die in der rechten Seite.(füllen Sie die Nullen von rechts).
Dies kann nur erreicht werden durch die Verwendung von printf-Methode.