Ich möchte eine Druckzeile in Java mithilfe des Formats einrücken, aber der Vorgang verwirrt mich etwas.
Ich habe herumgesucht und Folgendes gefunden, das die folgende Option bietet:< /p>
String prefix1 = "short text:";
String prefix2 = "looooooooooooooong text:";
String msg = "indented";
/*
* The second string begins after 40 characters. The dash means that the
* first string is left-justified.
*/
String format = "%-40s%s%n";
System.out.printf(format, prefix1, msg);
System.out.printf(format, prefix2, msg);
Ich habe es folgendermaßen in meinen eigenen Code implementiert:
public class Main {
public static void main(String[] args) {
// Take in user input for report title
System.out.println("Enter a title for this report");
String msg = "=> ";
String blank = "";
String format = "%-4s%s%n";
System.out.printf(format, blank, msg);
}
}
Ich habe versucht, das Leerzeichen wie folgt zu entfernen:
public class Main {
public static void main(String[] args) {
// Take in user input for report title
System.out.println("Enter a title for this report");
String msg = "=> ";
String format = "%-4s%s%n";
System.out.printf(format, msg);
}
}
Aber ich erhalte die folgende Fehlermeldung in IntelliJ IDEA:
Ausnahme im Thread „main“ java.util.MissingFormatArgumentException :
Formatspezifizierer '%s' bei
java.base/java.util.Formatter.format(Formatter.java:2672) bei
java.base/java.io.PrintStream.format(PrintStream.java:1053) unter
java.base/java.io.PrintStream.printf(PrintStream.java:949) unter
Main. main(Main.java:32)
Meine Frage ist, warum ist diese erste Zeichenfolge erforderlich? Gibt es eine Möglichkeit, dies zu tun, ohne die „leere“ Variable zu deklarieren, die ich habe? Es tut mir leid, wenn dies irgendwo beantwortet wird. Ich habe gesucht, konnte es aber nicht finden.
Dies ist meine gewünschte Ausgabe:
Enter a title for this report
=>
So rücken Sie in Java mithilfe des Formats ein ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post