Formattazione avanzata delle stringhe
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 49 di 59.
La formattazione delle stringhe in Java ti consente di creare stringhe formattate usando specificatori di formato. I più comuni sono %s per le stringhe, %d per gli interi e %.2f per i numeri decimali.
Formatta una stringa con più valori:
String name = "John";
int age = 25;
String text = String.format("Name: %s, Age: %d", name, age);Dopo aver eseguito il codice qui sopra, text contiene:
Name: John, Age: 25
Formatta i numeri decimali con precisione:
double price = 19.99;
String formatted = String.format("Price: $%.2f", price);Dopo aver eseguito il codice qui sopra, formatted contiene:
Price: $19.99
Sfida
FacileCrea un metodo chiamato formatData che accetta quattro argomenti:
- Una String (
name) per il nome di un prodotto - Un double (
price) per il prezzo del prodotto - Un intero (
quantity) per la quantità - Una String (
format) per il tipo di formato di output
Il metodo dovrebbe formattare i dati in base a questi tipi:
- "basic": restituisce "ITEM: {name}, PRICE: ${price}"
- "detailed": restituisce "PRODUCT: {name}\nPRICE: ${price}\nQUANTITY: {quantity}"
- "total": restituisce "TOTAL FOR {quantity}x {name}: ${total}" (total = price * quantity) Tutti i prezzi devono essere formattati con esattamente 2 cifre decimali.
Restituisci il messaggio:
- Se un input è null o il formato non è valido: restituisci "Invalid input"
Provalo tu
import java.util.Scanner;
public class Main {
public static String formatData(String name, double price, int quantity, String format) {
// Scrivi qui il tuo codice
}
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));
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap5HashSet Parte 2
Matematica - Unione di HashSetMatematica - Intersezione di HashSetMatematica - Differenza tra insiemiMatematica - Differenza simmetricaSottoinsiemi e sovrainsiemiIterare sugli insiemi8Operazioni avanzate sulle stringhe
Fondamenti di StringBuilderIntroduzione a StringBufferFondamenti delle espressioni regolariCorrispondenza di pattern con le regexTokenizer di stringheFormattazione avanzata delle stringhe3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online