printf

Reality

Top Contributor
Hallo,
weiß jemand, wie man über eine int-Variable angeben kann, wie oft ein Zeichen ausgegeben werden soll?

Java:
System.out.printf("%2s", "bla"); //Das ist klar, das funktioniert.
System.out.printf("%%ds", intWert, "bla"); //%d soll vorher einen int-Wert einfügen, was aber schief geht.

Danke im Voraus!
Reality
 

faetzminator

Gesperrter Benutzer
Was soll die zweite Zeile machen? Gib bitte ein Beispiel mit definiertem int und gewünschter Ausgabe.

Edit: du meinst aber nicht sowas?
Java:
System.out.printf("%" + intWert + "s", "bla");
 

Reality

Top Contributor
Edit: du meinst aber nicht sowas?
Java:
System.out.printf("%" + intWert + "s", "bla");

Genau das meine. Solch ein Code habe ich auch schon ausprobiert. Wenn der Int-Wert aber zufällig den Wert 0 hat (das habe ich erst jetzt bemerkt), dann kommt folgende Fehlermeldung:

Exception in thread "main" java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = 0
at java.util.Formatter$FormatSpecifier.failMismatch(Formatter.java:4007)
at java.util.Formatter$FormatSpecifier.checkBadFlags(Formatter.java:2923)
at java.util.Formatter$FormatSpecifier.checkGeneral(Formatter.java:2881)
at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2655)
at java.util.Formatter.parse(Formatter.java:2496)
at java.util.Formatter.format(Formatter.java:2430)
at java.io.PrintStream.format(PrintStream.java:937)
at java.io.PrintStream.printf(PrintStream.java:838)
at aufgabe5.Notenspiegel.main(Notenspiegel.java:89)

Dann muss ich wohl diesen Fall extra abfangen...

Liebe Grüße
Reality
 
G

Gastredner

Gast
Edit; Unsinn geschrieben, nehme ich zurück.
Du musst den Format-String wie von faetzminator angegeben selbst zusammenbauen.
 

Reality

Top Contributor
Ich habe den Code von faetzminator übernommen, aber es kommt wie gesagt zu der oben genannten Exception, wenn der int-Wert zufällig eine 0 ist.
Die Java-API sagt dazu:

The optional width is a non-negative decimal integer indicating the minimum number of characters to be written to the output.
0 ist ja nicht negativ. Daher überrascht mich das Ergebnis!

L. G.
Reality
 
G

Gastredner

Gast
Naja, das Formatieren eines Strings auf 0 Zeichen Länge ist allerdings auch nicht sonderlich sinnvoll. Außerdem gibt die Zahl nicht an, wie oft ein String geschrieben werden soll, sondern wie lang er sein soll. Aus "12345" wird bei "%6s" somit " 12345" (beachte das Leerzeichen).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
sserio printf integer formatting Java Basics - Anfänger-Themen 17
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Methoden printf Methode Problem Java Basics - Anfänger-Themen 2
O printf und (int) Java Basics - Anfänger-Themen 6
C system.out.printf mit streams benutzen Java Basics - Anfänger-Themen 7
T printf Daten aus der Tabelle in Excel übernehmen Java Basics - Anfänger-Themen 5
F Formatiere Ausgabe mit printf Java Basics - Anfänger-Themen 7
G System.out.printf geht nicht Java Basics - Anfänger-Themen 6
R The method printf(String, Object[]) in the type printStrem in not applicable for the arguments ... Java Basics - Anfänger-Themen 3
B Printf führt zu Error. Java Basics - Anfänger-Themen 8
C Printf nutzen Java Basics - Anfänger-Themen 10
C Printf nutzen Java Basics - Anfänger-Themen 6
M Erste Schritte Formatierte Ausgabe mit printf() Java Basics - Anfänger-Themen 24
H printf: Unterschied %f und %g Java Basics - Anfänger-Themen 5
T System.out.printf Zeilenumbruch nach x Stellen Java Basics - Anfänger-Themen 4
N Ausgabe Problem System.console().printf() Java Basics - Anfänger-Themen 6
T System.out.printf Java Basics - Anfänger-Themen 4
J Runden mit printf Java Basics - Anfänger-Themen 3
J System.out.printf in eine Datei umleiten ? Java Basics - Anfänger-Themen 4
R Zahlen bei printf auf 2 Nachkommestellen begrenzen Java Basics - Anfänger-Themen 10
B printf() mit Parameterübergabe? Java Basics - Anfänger-Themen 2
G printf Funktion aus C schreiben Java Basics - Anfänger-Themen 7
N formatierung aus printf in string verwenden Java Basics - Anfänger-Themen 3
J Eclipse und printf und import util.java.scanner; Java Basics - Anfänger-Themen 4
J printf: Fehlermeldung in Eclipse Java Basics - Anfänger-Themen 4
H printf und Zahlen Java Basics - Anfänger-Themen 2
K System.out.printf(); funktioniert bei eclipse nicht Java Basics - Anfänger-Themen 2
T JNI Absturz - printf Java Basics - Anfänger-Themen 7
S Problem mit printf Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben