1
resposta

[Projeto] ControleDeSenha

package br.com.nadson.desafiosc8.modelo;

public class Usuario {
    private String senha;

    public Usuario(String senha) {
        this.senha = senha;
    }

    public boolean validarSenhaAtual(String senhaAtual) {
        return this.senha.equals(senhaAtual);
    }

    public void setSenha(String senhaAtual, String novaSenha) {
        if (validarSenhaAtual(senhaAtual)) {
            this.senha = novaSenha;
            System.out.println("Senha alterada com sucesso.");
        } else {
            System.out.println("Senha atual incorreta. Não foi possível alterar a senha.");
        }
    }

}
package br.com.nadson.desafiosc8.principal;

import br.com.nadson.desafiosc8.modelo.Usuario;

public class ControleDeSenha {
    public static void main(String[] args) {
        Usuario usuaria1= new Usuario ("abc1234");
        usuaria1.setSenha("abc1234","novaSenha!2024");
        usuaria1.setSenha("senhaErrada","outraSenha!2024");
        
    }

}
1 resposta

Olá, Nadson! Tudo bem?

Mandou muito bem novamente!

Sua lógica de encapsulamento está perfeita para este cenário. É exatamente assim que protegemos dados sensíveis: o atributo senha fica private e só pode ser alterado se a regra de negócio for satisfeita (neste caso, confirmar a senha anterior antes de definir a nova).

Outro ponto muito positivo foi o uso do .equals() para comparar as Strings, o que é essencial em Java para garantir a comparação correta do conteúdo do texto.

Continue com esse ritmo nos estudos!

Bons estudos!

Sucesso

Imagem da comunidade