- Comprendere la differenza tra stringa vuota e stringa con spazi
- Utilizzare i metodi isEmpty() e isBlank()
- Validare input testuali acquisiti con Scanner
- Gestire dati utente non validi
- Costruire programmi console più robusti
Validazione delle stringhe in Java con Scanner
Quando si acquisisce un input testuale con Scanner, non è sufficiente verificare che l’utente abbia inserito qualcosa: è necessario controllare anche cosa è stato inserito.
Java mette a disposizione due metodi fondamentali della classe String: isEmpty() e isBlank().
Stringa vuota: isEmpty()
Il metodo isEmpty() verifica se una stringa non contiene alcun carattere.
Scanner input = new Scanner(System.in);
System.out.print("Inserisci nome: ");
String nome = input.nextLine();
if(nome.isEmpty()){
System.out.println("Errore: stringa vuota");
} else {
System.out.println("Nome valido: " + nome);
}
Stringa vuota o con spazi: isBlank()
Il metodo isBlank() verifica se una stringa è vuota oppure contiene solo spazi.
System.out.print("Inserisci città: ");
String citta = input.nextLine();
if(citta.isBlank()){
System.out.println("Errore: input non valido");
} else {
System.out.println("Città valida: " + citta);
}
Differenza tra isEmpty() e isBlank()
| Metodo | Controllo | Esempio |
|---|---|---|
| isEmpty() | Stringa senza caratteri | "" |
| isBlank() | Stringa vuota o solo spazi | " " |
Applicazione con Scanner
L’input da tastiera può contenere errori non evidenti, come spazi accidentali. La validazione con questi metodi permette di intercettare dati non utilizzabili.
Scanner input = new Scanner(System.in);
System.out.print("Nome: ");
String nome = input.nextLine();
if(nome.isBlank()){
System.out.println("Inserimento non valido");
} else {
System.out.println("Benvenuto " + nome);
}
Concetto chiave
- Scanner legge stringhe anche vuote
- isEmpty() controlla assenza totale di caratteri
- isBlank() controlla anche spazi
- La validazione migliora la qualità dei dati
LABORATORIO
Validazione stringhe con Scanner
Controllo di input testuali vuoti o non validi
- Browser
- onlinegdb.com
1 Controllo nome
Creare un programma che verifica se il nome inserito è valido.
if(nome.isEmpty()){
System.out.println("Errore");
}
2 Controllo input con spazi
Verificare input composto solo da spazi.
if(nome.isBlank()){
System.out.println("Input non valido");
}
3 Registrazione utente
Simulare un modulo di registrazione con controlli su nome e città.
- Nome obbligatorio
- Città obbligatoria
- Messaggio finale personalizzato
4 Esercizio reale
- Modulo login semplificato
- Controllo username
- Gestione input vuoti o non validi