Menu
CoddyTech

Fortgeschrittene String-Formatierung

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy. Lektion 49 von 59.

Die Zeichenkettenformatierung in Java ermöglicht es dir, formatierte Zeichenketten mithilfe von Formatspezifizierern zu erstellen. Am häufigsten werden %s für Zeichenketten, %d für Ganzzahlen und %.2f für Dezimalzahlen verwendet.

Formatiere eine Zeichenkette 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 Genauigkeit 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

challenge icon

Aufgabe

Einfach

Erstelle eine Methode namens formatData, die vier Argumente entgegennimmt:

  1. Einen String (name) für einen Produktnamen
  2. Einen double-Wert (price) für den Produktpreis
  3. Einen Integer (quantity) für die Menge
  4. Einen String (format) für den Ausgabetypt

Die Methode soll die Daten basierend auf diesen Typen formatieren:

  • "basic": gib "ITEM: {name}, PRICE: ${price}" zurück
  • "detailed": gib "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}" zurück
  • "total": gib "TOTAL FOR {quantity}x {name}: ${total}" zurück (total = price * quantity)

Alle Preise müssen mit genau 2 Dezimalstellen formatiert werden.

Rückgabemeldung:

  • Wenn eine Eingabe null oder das Format ungültig ist: gib "Invalid input" zurück

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));
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Java-Compiler