Fortgeschrittene String-Formatierung
Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 49 von 59.
String-Formatierung in Java ermöglicht es Ihnen, formatierte Strings mit Formatangaben zu erstellen. Die häufigsten sind %s für Strings, %d für Ganzzahlen und %.2f für Dezimalzahlen.
Formatieren Sie einen String mit mehreren Werten:
String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);Nach der Ausführung des obigen Codes enthält text:
Name: John, Age: 25
Dezimalzahlen mit Präzision formatieren:
double price = 19.99;
String formatted = String.format("Price: $%.2f", price);Nach der Ausführung des obigen Codes enthält formatted:
Price: $19.99
Aufgabe
EinfachErstellen Sie eine Methode namens formatData, die vier Argumente annimmt:
- Ein String (
name) für den Produktnamen - Ein double (
price) für den Produktpreis - Ein Integer (
quantity) für die Menge - Ein String (
format) für den Ausgabeformattyp
Die Methode sollte die Daten basierend auf diesen Typen formatieren:
- "basic": return "ITEM: {name}, PRICE: ${price}"
- "detailed": return "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}"
- "total": return "TOTAL FOR {quantity}x {name}: ${total}" (total = price * quantity) Alle Preise sollten mit genau 2 Dezimalstellen formatiert werden.
Rückgabenachricht:
- Wenn irgendein Input null oder ungültiges Format ist: return "Invalid input"
Spickzettel
Die String-Formatierung in Java verwendet Format-Spezifizierer mit String.format():
%sfür Strings%dfür Ganzzahlen%.2ffür Dezimalzahlen mit 2 Dezimalstellen
Formatieren von Strings mit mehreren Werten:
String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);
// Result: "Name: John, Age: 25"Formatieren von Dezimalzahlen mit Präzision:
double price = 19.99;
String formatted = String.format("Price: $%.2f", price);
// Result: "Price: $19.99"Probier es selbst
import java.util.Scanner;
public class Main {
public static String formatData(String name, double price, int quantity, String format) {
// Schreibe deinen Code hier
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
double price = Double.parseDouble(scanner.nextLine());
int quantity = Integer.parseInt(scanner.nextLine());
String format = scanner.nextLine();
if (name.equals("null")) name = null;
if (format.equals("null")) format = null;
System.out.println(formatData(name, price, quantity, format));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap5HashSet Teil 2
Mathematik - Vereinigung von HashSetsMathematik - Schnittmenge von HashSetsMathematik - Mengen-DifferenzMathematik - Symmetrische DifferenzUnter- und ObermengenIterieren über Mengen8Fortgeschrittene String-Operationen
StringBuilder-GrundlagenStringBuffer-EinführungGrundlagen regulärer AusdrückeMusterabgleich mit RegexString-TokenizerFortgeschrittene String-Formatierung3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung