Menu
Coddy logo textTech

Clausole guardia

Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 38 di 59.

Le clausole di guardia sono istruzioni condizionali all’inizio di un metodo che verificano la presenza di condizioni non valide e terminano anticipatamente. Aiutano a rendere il codice più pulito e leggibile gestendo prima i casi limite.

Vediamo un metodo senza clausole di guardia:

public int divide(int num, int den) {
   if (den != 0) {
       if (num >= 0) {
           return num / den;
       } else {
           return -1;
       }
   } else {
       return -1;
   }
}

Lo stesso metodo con clausole di guardia:

public int divide(int num, int den) {
   if (den == 0) return -1;
   if (num < 0) return -1;
   return num / den;
}

Dopo aver eseguito uno dei due codici con divide(10, 2), il risultato è:

5

challenge icon

Sfida

Facile

Crea un metodo chiamato validatePassword che accetta un argomento:

  1. Una String (password) da convalidare

Il metodo dovrebbe usare clausole di guardia per convalidare la password e restituire una stringa di messaggio in base a queste regole:

  • Se password è null: restituisci "Password cannot be null"
  • Se password è vuota: restituisci "Password cannot be empty"
  • Se la lunghezza di password è minore di 8: restituisci "Password must be at least 8 characters"
  • Se password contiene spazi: restituisci "Password cannot contain spaces"
  • Se tutti i controlli vengono superati: restituisci "Valid password"

Provalo tu

import java.util.Scanner;

public class Main {
    public static String validatePassword(String password) {
        // Scrivi qui il tuo codice
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String password = scanner.nextLine();
        if (password.equals("null")) {
            password = null;
        }
        System.out.println(validatePassword(password));
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Java online