printf integer formatting

sserio

Bekanntes Mitglied
Java:
double startTime = System.currentTimeMillis();
        printArray(array());
        System.out.println(findBiggestDiagonalSum(array()));
        double endTime = System.currentTimeMillis();
        System.out.printf(" %.3f " + ((endTime - startTime) / 1000)); // seconds
Weiß irgendwer warum das nicht funktioniert? die zahl ist 0.042 / 0.041 ... wird diese als dezimalzahl angesehen ?
 

sserio

Bekanntes Mitglied
Java:
double startTime = System.currentTimeMillis();
        printArray(array());
        System.out.println(findBiggestDiagonalSum(array()));
        double endTime = System.currentTimeMillis();
        System.out.printf(" %.3f " + ((endTime - startTime) / 1000)); // seconds
Weiß irgendwer warum das nicht funktioniert? die zahl ist 0.042 / 0.041 ... wird diese als dezimalzahl angesehen ?
Ich versuche millisekunden in sekunden umzurechnen
 

httpdigest

Top Contributor
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:
Java:
System.out.printf("%.3f",  (endTime - startTime) / 1000); // seconds
 

sserio

Bekanntes Mitglied
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:
Java:
System.out.printf("%.3f",  (endTime - startTime) / 1000); // seconds
Also hat es einfach nur wegen der einen Klammer nicht funktioniert
 

sserio

Bekanntes Mitglied
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:
Java:
System.out.printf("%.3f",  (endTime - startTime) / 1000); // seconds
wie mache ich das wenn ich noch einen string dahinter hängen will
Java:
 System.out.printf("%.3f %s", "seconds",  (endTime - startTime) / 1000);
 

httpdigest

Top Contributor
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.
 

httpdigest

Top Contributor
wie mache ich das wenn ich noch einen string dahinter hängen will
Java:
 System.out.printf("%.3f %s", "seconds",  (endTime - startTime) / 1000);
Java:
System.out.printf("%.3f seconds",  (endTime - startTime) / 1000);
Es sind positionale Argumente. Also die Position des Arguments im Format-String und die des printf() Methodenaufrufes müssen übereinstimmen.
 

Neumi5694

Top Contributor
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.
 

sserio

Bekanntes Mitglied
Java:
 for (Integer n : getDivisors(16)) { //getDivisors(16) == HashSet
            System.out.printf("%d ", n);
        }
gibt es eine andere Möglichkeit HashSets zu printen mit printf
 

sserio

Bekanntes Mitglied
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.
was bedeutet das %n am ende bei %2$02d%n .Also es ist ja an zweiter stelle eine dezimal zahl auf 2 vorstellen ausgeben und dann dieses %n
 

Jw456

Top Contributor
Java:
 for (Integer n : getDivisors(16)) { //getDivisors(16) == HashSet
            System.out.printf("%d ", n);
        }
gibt es eine andere Möglichkeit HashSets zu printen mit printf

mit einer Methodenreferenz in etwa so (Java 8)


Java:
Set<Integer> set = new HashSet<Integer>();
set.add(10);
set.add(1);

set.forEach(System.out::println);
Java:
getDivisors(16).forEach(System.out::println);
 
Zuletzt bearbeitet:

sserio

Bekanntes Mitglied
mit einer Methodenreferenz in etwa so (Java 8)


Java:
Set<Integer> set = new HashSet<Integer>();
set.add(10);
set.add(1);

set.forEach(System.out::println);
Java:
getDivisors(16).forEach(System.out::println);
alles klar danke, aber der gibt das dann untereinander aus / oder mit print() nebeneinander , jedoch ohne lücken. Aber dennoch ne gute methode
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
R printf 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
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
MoxMorris Integer.MAX_VALUE und Double.MAX_VALUE Unterschied Java Basics - Anfänger-Themen 3
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1
T Java Integer multiplizieren Java Basics - Anfänger-Themen 6
H Fehler bei integer Division Java Basics - Anfänger-Themen 28
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
C Integer in Vierer-Zahlblöcke aufteilen Java Basics - Anfänger-Themen 11
L integer Java Basics - Anfänger-Themen 6
Zeppi Integer umschreiben Java Basics - Anfänger-Themen 5
rafi072001 Integer Anomalie Java Java Basics - Anfänger-Themen 7
Eule25 Arbeit mit long und int, Error: integer number too large Java Basics - Anfänger-Themen 2
J Transformation zweier Integer in ein Double Java Basics - Anfänger-Themen 26
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
D Fibonacci overflow integer Java Basics - Anfänger-Themen 8
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
V int zu Integer und String Java Basics - Anfänger-Themen 6
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
M Regex zum Integer.parseInt Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
S Vergleichen ob der Integer der benutzt eingeben werden soll überhaupt ein int ist Java Basics - Anfänger-Themen 1
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
K String in Integer umwandeln Java Basics - Anfänger-Themen 4
G Überprüfen ob alle Ziffern von 1-9 in einem Integer vorhanden sind Java Basics - Anfänger-Themen 6
D integer negativen Wert abspeichern Java Basics - Anfänger-Themen 3
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
J Methoden Moving a n integer matrix Java Basics - Anfänger-Themen 3
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
L String in Integer umwandeln Java Basics - Anfänger-Themen 3
K Datentypen String zu Integer parsen Java Basics - Anfänger-Themen 2
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
S Integer aus Array filtern Java Basics - Anfänger-Themen 4
F Referenzvariable vom Typ "Integer" definieren. (Klausuraufgabe) Java Basics - Anfänger-Themen 5
M set Integer bzw. set null mit SQL DB Java Basics - Anfänger-Themen 9
H Bubblesort-Zwei Integer auf Dekade vergleichen. Java Basics - Anfänger-Themen 6
B Variablen integer im Array Java Basics - Anfänger-Themen 5
C Liste o.ä. erstellen mit <Integer, <Integer, String> Java Basics - Anfänger-Themen 7
R Kompletten String umwandeln in Integer Java Basics - Anfänger-Themen 10
H 32-Bit Zahl (Integer) in eine IPv4 Adresse umwandeln? Java Basics - Anfänger-Themen 2
Orkanson Datentypen Integer in String umwandeln/hinzufügen Java Basics - Anfänger-Themen 3
O Datentypen Integer mit führender Null Java Basics - Anfänger-Themen 13
M Argument in Integer verwandeln und das Doppelte davon printen Java Basics - Anfänger-Themen 9
D Fehler: String zu Integer Java Basics - Anfänger-Themen 7
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
E Integer und Array übergeben Java Basics - Anfänger-Themen 9
W Fehler bei Integer.parseInt() Java Basics - Anfänger-Themen 4
R String in Integer Java Basics - Anfänger-Themen 11
D Komischer Fehler nach <Integer> List Java Basics - Anfänger-Themen 2
J Integer in Array einlesen Java Basics - Anfänger-Themen 14
J Warum ist das ein Unterschied (Integer / int) Java Basics - Anfänger-Themen 2
H Integer in Datei schreiben Java Basics - Anfänger-Themen 2
B OOP Cannot instantiate the type AuDList<Integer> Java Basics - Anfänger-Themen 18
3 ArrayList Integer Wrapper Klasse als Ersatz für normale Arrays Java Basics - Anfänger-Themen 10
K Methoden Integer runden/aufrunden Java Basics - Anfänger-Themen 2
E Erste Schritte Lower Bounded Wildcards <? super Integer> Java Basics - Anfänger-Themen 1
M Datentypen Integer und Float Konflikt Java Basics - Anfänger-Themen 3
J Integer-Werte in Array ein- bzw. auslesen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben