1
resposta

[Projeto] Desafio 2: Senha

package br.com.alura.screenmatch.exercicio;

import java.util.Scanner;

public class SenhaUsuario{

    private String senha;

    public SenhaUsuario(String senha) {
        if(senha.length() < 8){
            throw new SenhaInvalidaException("Por favor insira uma 8 caracteres ou mais: ");
        }
        this.senha = senha;
    }

    public String getSenha() {
       return this.senha = senha;
    }

    public static void main(String[] args) {
        try{
            Scanner sc = new Scanner(System.in);
            System.out.println("Digite sua senha: ");
            String senha = sc.nextLine();

            SenhaUsuario senhaUsuario = new SenhaUsuario(senha);
            System.out.println(senhaUsuario.getSenha());
            sc.close();
        }catch(SenhaInvalidaException e){
            System.out.println(e.getMessage());
        }finally{
            System.out.println("Senha Cadastrada com sucesso!");
        }
    }
}

Alguma sugestão de melhoria?

1 resposta

Olá, Mizael! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de exceções personalizadas para validar entradas com Java, utilizou muito bem o construtor para aplicar regras de negócio já na criação do objeto e ainda compreendeu a importância da classe Scanner para capturar dados do usuário.

Uma dica interessante para o futuro é ajustar o método getSenha para retornar apenas o atributo, sem atribuições desnecessárias. Assim:

public String getSenha() {
    return this.senha;
}

Isso faz com que o método seja mais claro e evite comportamentos inesperados.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!