Como utilizar uma variável iniciada em um "if" em outro lugar? [RESOLVIDO]

5 respostas
D

Estou começando agora, e estou tentando fazer um exemplo de cadastro e login. :P

O código fica assim, mas acontece um erro (Abaixo do Código)

import java.util.Scanner;

public class Cadastro {

	public static void main(String[] args) {
		
		String nick, password, nick1, password1, nomeCompleto;
		int desejo;
		
		Scanner scanner = new Scanner(System.in);
		
		System.out.println("(1) Cadastrar.");
		System.out.println("(2) Logar.\n");
		
		System.out.println("Digite o número referente ao que você deseja fazer:");
		desejo = scanner.nextInt();
		
		if(desejo == 1){
			
			System.out.println("< Cadastro >\n\n");
			
			System.out.println("Digite seu nome completo: " + (nomeCompleto = scanner.nextLine()) + "\n");

			System.out.println("Digite um nome de usuário: " + (nick = scanner.nextLine()) + "\n");
			
			System.out.println("Digite uma senha: " + (password = scanner.nextLine()) + "\n");
			
		} else if(desejo == 2){
			
			System.out.println("< Login >\n\n");
			
			System.out.println("Digite seu nome de usuário: " + (nick1 = scanner.nextLine()) + "\n");
			
			System.out.println("Digite sua senha" + (password1 = scanner.nextLine()) + "\n");
			
			if(nick == nick1 && password == password1){
				
				System.out.println(" Seja bem-vindo " + nomeCompleto + ".");
				
			}
		
		} else {
			
			System.out.println("Número Invalido.");
			
		}
		
		
	}
	
}

Ali no "else if" depois de pedir para a pessoa digitar a senha e o usuário, eu tento comparar os dois, e eles diz que as variáveis "nick" e "password" não foram inicializadas, algo assim... como faço para resolver isso? E por fim eu tenho outra dúvida, como fazer para na hora em que a pessoa for escrever o password, ele seja substituído por "******".

Obrigado! ^^

5 Respostas

Rodrigo_Bronks

inicia as variavel acima do metodo main
assim

public class Cadastro {  
    String nick, password, nick1, password1, nomeCompleto; 
    public static void main(String[] args) {
D

Eu fiz isso, mas aí NADA funcionou. Obrigado mesmo assim. ^^

espinheira
import java.util.Scanner;

public class Cadastro {

    public static void main(String[] args) {

        String nick = null, password = null, nick1 = null, password1 = null, nomeCompleto = null;
        int desejo;

        Scanner scanner = new Scanner(System.in);

        System.out.println("(1) Cadastrar.");
        System.out.println("(2) Logar.\n");

        System.out.println("Digite o número referente ao que você deseja fazer:");
        desejo = scanner.nextInt();

        if (desejo == 1) {

            System.out.println("< Cadastro >\n\n");

            System.out.println("Digite seu nome completo: " + (nomeCompleto = scanner.nextLine()) + "\n");

            System.out.println("Digite um nome de usuário: " + (nick = scanner.nextLine()) + "\n");

            System.out.println("Digite uma senha: " + (password = scanner.nextLine()) + "\n");

        } else if (desejo == 2) {

            System.out.println("< Login >\n\n");

            System.out.println("Digite seu nome de usuário: " + (nick1 = scanner.nextLine()) + "\n");

            System.out.println("Digite sua senha" + (password1 = scanner.nextLine()) + "\n");

            if (nick == nick1 && password == password1) {

                System.out.println(" Seja bem-vindo " + nomeCompleto + ".");

            }

        } else {

            System.out.println("Número Invalido.");

        }


    }
}

Olha como deixei as variáveis… estude o porquê inicializei com “NULL” e seja feliz!!!

D

Valeu! Resolveu o meu problema! ^^

Sei que não estava no título, mas você sabe me dizer como fazer com que a senha fique *********, enquanto a pessoa escreve?

A

DavidCairuz:
Valeu! Resolveu o meu problema! ^^

Sei que não estava no título, mas você sabe me dizer como fazer com que a senha fique *********, enquanto a pessoa escreve?

Boa pergunta, fiquei curioso também rs

Criado 2 de março de 2013
Ultima resposta 3 de mar. de 2013
Respostas 5
Participantes 4