String(if) em Java dando erro

Galera, sou novato (bem novato MESMO) na linguagem Java, e gostaria que alguém analisasse esse programinha básico pra ver o motivo dele estar dando erro:

import java.util.Scanner;

public class Application {
       public static void main(String[] args) {
              String senha;
                     if (senha.equals("spidertobey")) {
                         Scanner ler= new Scanner(System.in);
                         System.out.println("Informe a sua senha: ");
                         senha= ler.next();
                         System.out.println("Acesso permitido!");
                     }
                     else {
                        System.out.println("Acesso negado!");
                     }
       }
}

Ele é bem simples mesmo, consiste basicamente em um sistema de login, onde o usuário fornece a senha; se ela estiver correta, o acesso é permitido; se não, o acesso é negado.

Antes do IF vc declarou uma String sem ela ser inicializada. Isso que deve está causando erro no seu código.

Mova o Scanner e a leitura do teclado (ler.next()) para fora do IF. A atribuição do valor na variável senha deve ser executada antes do IF para seu código funcionar.

1 curtida

Valeu, parceiro! Funcionou de boas agora!