1
resposta

[Projeto] Validação de senha

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);

        double senhaCorreta = 123456;
        double senhaDigitada;

        System.out.printf("Digite sua senha:");
        senhaDigitada = leitor.nextDouble();

        while (senhaDigitada != senhaCorreta) {
            System.out.println("Acesso Negado");
            System.out.printf("Digite sua senha:");
            senhaDigitada = leitor.nextDouble();
        }

        System.out.println("Acesso Permitido");
        leitor.close();

    }
}
1 resposta

Olá, Thais!

Ótima resolução, parabéns! Mas há um detalhe importante que pode causar problemas no programa: o uso do tipo double para representar senhas, pois elas são geralmente tratadas como strings, já que podem conter caracteres alfanuméricos e símbolos.

Por isso, podemos ajustar o código para usar String em vez de double, da seguinte forma:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);

        String senhaCorreta = "123456";
        String senhaDigitada;

        System.out.printf("Digite sua senha:");
        senhaDigitada = leitor.nextLine();

        while (!senhaDigitada.equals(senhaCorreta)) {
            System.out.println("Acesso Negado");
            System.out.printf("Digite sua senha:");
            senhaDigitada = leitor.nextLine();
        }

        System.out.println("Acesso Permitido");
        leitor.close();
    }
}

Aqui trocamosdouble por String para a variável senhaCorreta e senhaDigitada, além de usarmos o método .equals() para comparar strings, já que == não funciona corretamente para objetos String em Java.

Espero ter ajudado!

Um forte abraço e bons estudos!