Frage zu Java: System.out.printf()?
Vielleicht weiß irgendjemand wie man das lösen kann, ich möchte in meinem (Java, nicht Javascript) Programm mit System.out.printf() etwas in der Konsole ausgeben, mit dem Zeichen "%" (also System.out.printfn("Test 123%") ). Aber da dass "%" bei System.out.printfn() eine Bedeutung hat, klappt das nicht (es kommt eine Fehlermeldung). Und ich weiß ich könnte System.out.println() nutzen, aber da kann ich keinen String bzw. keine Variable einsetzen lassen.
In meinem Code steht:
System.out.printf("test %s %", i): "i" ist die Variable wo eine Zahl aus einer For Schleife (for(int...) ) eingesetzt werden soll. In der Konsole soll dann z.B. stehen: Test 10%:
Ist etwas unverständlich erklärt, aber vielleicht kann mir trotzdem jemand helfen.
Falls es wichtig ist, ich arbeite mit JRE 17.0.7
2 Antworten
Solche Infos findest du am besten in der Java Dokumentation,
https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/util/Formatter.html#syntax
Wenn du z.B. printf suchst wirst du auf die Dokumentation zu java.util.Formatter verwiesen und dort findest du eine Tabelle mit allen %conversion. Dort findest du eben dann auch, dass %% zu einem % wird. Als Tipp, so was ist in vielen Programmiersprachen der Fall, einfach das Zeichen welches als Marker für Syntax genutzt wird doppelt schreiben, um es zu escapen. \\ wird ja auch zu einem \ und so weiter.
Über die Dokumentation findest du meist die zuverlässigste Antwort, daher empfehle ich dir das sich anzugewöhnen um besser selbständig arbeiten zu können, eine gute IDE wird dir auch die Dokumentation anzeigen lassen können wenn du über die Token hoverst, oder du lässt die wichtigsten Ressourcen nebenbei in deinem Browser offen.
Verwende % als Escape-Character
System.out.printf("test %s %%", i);