Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Die Methode `printf` auf dem PrintStream: https://docs.oracle.com/en/java/jav...#printf(java.lang.String,java.lang.Object...)
erwartet einen Format-String und Argumente, die auf im Format-String angegebene positionale Argumente (die Dinger mit dem Prozentzeichen) mappen.
Aktuell gibst du aber der Methode nur einen Format-String und keine weiteren Argumente.
Ändere das zu:
Die Methode `printf` auf dem PrintStream: https://docs.oracle.com/en/java/jav...#printf(java.lang.String,java.lang.Object...)
erwartet einen Format-String und Argumente, die auf im Format-String angegebene positionale Argumente (die Dinger mit dem Prozentzeichen) mappen.
Aktuell gibst du aber der Methode nur einen Format-String und keine weiteren Argumente.
Ändere das zu:
Die Methode `printf` auf dem PrintStream: https://docs.oracle.com/en/java/jav...#printf(java.lang.String,java.lang.Object...)
erwartet einen Format-String und Argumente, die auf im Format-String angegebene positionale Argumente (die Dinger mit dem Prozentzeichen) mappen.
Aktuell gibst du aber der Methode nur einen Format-String und keine weiteren Argumente.
Ändere das zu:
Naja, lapidar zu sagen "es hat nicht wegen des Kommas funktioniert" ist etwas zu oberflächlich.
Solange du verstehst, dass dieses Komma eben das Format-String-Argument vom eigentlichen Argument (für das "%.3f") im Aufruf der printf() Methode voneinander trennt, weil du - wie gesagt - für jedes Format-Argument im Format-String auch ein Argument des Methodenaufrufes brauchst - dann ja.
Es gibt auch noch die Möglichkeit, im format String zu sagen, den wie vielten Parameter du verwenden willst. Damit kannst du den selben Parameter auch öfters verwenden.
In diesem Beispiel wird die 4 (zweiter Parameter, angesprochen über 2$) an erster, zweiter und vierter Stelle eingefügt (jeweils anders formatiert), der Text (erster Parameter, angesprochen über 1$) wird an die zweite Stelle eingefügt.
Java:
System.out.printf("%2$03d %1$s %2$d ergibt das Gleiche wie 2 x %2$02d%n", "plus", 4);
Bei simplen zusammengesetzten Texten ist es aber meist angenehmer, einfach die Reihenfolge einzuhalten.
Es gibt auch noch die Möglichkeit, im format String zu sagen, den wie vielten Parameter du verwenden willst. Damit kannst du den selben Parameter auch öfters verwenden.
In diesem Beispiel wird die 4 (zweiter Parameter, angesprochen über 2$) an erster, zweiter und vierter Stelle eingefügt (jeweils anders formatiert), der Text (erster Parameter, angesprochen über 1$) wird an die zweite Stelle eingefügt.
Java:
System.out.printf("%2$03d %1$s %2$d ergibt das Gleiche wie 2 x %2$02d%n", "plus", 4);
Bei simplen zusammengesetzten Texten ist es aber meist angenehmer, einfach die Reihenfolge einzuhalten.