Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

[Projeto] Controle de senha

package br.com.autenticacao;

public class Usuario {
    private String senha;

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

    public void setSenha(String senhaDigitada, String novaSenha) {
        if (senhaDigitada.equals(senha)) {
            this.senha = novaSenha;
            System.out.println("Senha alterada com sucesso!");
        } else {
            this.senha = senha;
            System.out.println("Senha atual incorreta. A senha não foi alterada.");
        }
    }
}
package br.com.autenticacao;

public class Principal {
    public static void main(String[] args) {
        Usuario user = new Usuario("123456");
        user.setSenha("123456", "abc123");

        Usuario user1 = new Usuario("ABCDE");
        user1.setSenha("ABC", "123abc");
    }
}

Saída:

Senha alterada com sucesso!
Senha atual incorreta. A senha não foi alterada.

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Aline, como vai?

Seu código está bem construído e cumpre corretamente a lógica proposta no exercício, mantendo a senha privada e permitindo a alteração apenas quando a confirmação é válida. A estrutura da classe está coerente com o objetivo de praticar encapsulamento e controle de acesso.

Na implementação do método setSenha, notei que no bloco else você atribui novamente this.senha = senha, mas essa atribuição não é necessária, pois a senha já permanece inalterada quando a condição não é atendida.

Sua implementação já atende ao que o exercício pede e funciona bem nos dois cenários que você testou. Continue compartilhando seus códigos no fórum, é ótimo acompanhar sua evolução. O espaço está à disposição.

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