1
resposta

[Dúvida] verificação de senha. sera que fiz certo?

eu fui ver o gabarito e percebi qe fiz de uma forma mais peguisoso kkk

int senha = 123456;

System.out.println("Digite a senha: "); 
senha = leitor.nextInt();

if (senha == 123456) {
   System.out.println("acesso liberado!");
} else {
   System.out.println("acesso negado!");
}
1 resposta

Olá, Otávio! Como vai?

No seu caso, funciona normalmente porque você usou o tipo de dado int para a senha.

Porém, como as senhas usualmente aceitam letras e alguns caracteres especiais, essa comparação usando == não é a mais indicada. Logo o mais sugerido é declarar a variável senha como String, que implica no uso do método equals para comparar objetos String. Dessa maneira:

import java.util.Scanner;  

public class ValidaSenha {  
    public static void main(String[] args) {  
        String senhaCorreta = "123456";    
        Scanner scanner = new Scanner(System.in);  

        System.out.print("Digite a senha: ");  
        String tentativaSenha = scanner.nextLine();  

        scanner.close();  

        if (tentativaSenha.equals(senhaCorreta)) {  
            System.out.println("Acesso permitido!");  
        } else {  
            System.out.println("Acesso negado!");  
        }  
    }  
}

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado