[RESOLVIDO]Problema com uma verificação

2 respostas
T
Bom Dia, Eu tenho um trabalho aqui pra fazer, preciso montar uma maquina de café, e eu queria fazer uma área do administrador... na verdade eu tentei colocar, fiz uma gambiarrazinha..
import java.util.Scanner;
public class maquinacafe 
{
	public static void main(String[] args) 
	{
		int retornar;
		Scanner sc;
		sc = new Scanner(System.in);
		
		
		
		System.out.println("Bem vindo a Maquina de Cafe 2.0\n\n\n\n\n Siga as instrucoes: ");
		System.out.println("Digite 1 para area do adminitrador");
		System.out.println("Digite 2 para Area do clinte");
		int opcao = sc.nextInt();
		switch (opcao)
		{
			case 1:
				String txt01 = "admin";
				String senha = "admin";
				System.out.println("Informe seu usuario e senha:");
				String user1 = sc.next();
				String senha1 = sc.next();
			do {
				if (senha.equals(senha1) == true && senha.equals(senha1) == true)
				{
					
					maquinacafe.areaAdmin(); //CRIAR UM MODO PRO ADMINITRADOR
					break;
				} else
				{
					System.out.println("Senha ou usuario errado, 1 para tentar denovo, 2 para menu principal");
					retornar = sc.nextInt();
					break;
				}
				} while (retornar == 1);
				break;
				
			case 2:
				System.out.println("Menu principal");
				break;
		}
	}

		private static void areaAdmin()
		{
			System.out.println("Bem vindo a area do adminitrador");
		}
}

Quando seleciono a opção 1, área do administrador, se eu digitar uma senha errada ele vai "Senha ou usuário errado, 1 para tentar de novo, 2 para menu principal", se eu digitar 1 ele vai ficar repetindo pra sempre, aí se eu digito 2, meu programa finaliza.. não tenho ideia do que fazer .-.
se alguém tiver a paciência de me ajudar vou ficar muito agradecido.
Desde já agradeço!

2 Respostas

kmunga

No If da linha 25 tu esta testando duas vezes a variável senha, acredito que tu queira fazer isso

if(user1.equals(txt01) && senha1.equals(senha)){....

Teu loop é infinito pq tu não esta dando a opção ao usuário de digitar novamente o usuário e a senha, então vai ficar eternamente com a senha e usuario errados, ai quando escolhe a opção 2 sai do loop.

edit: Tente colocar as opções de escolha do menu( o switch case) dentro do Loop, oferecendo também a opção de sair do programa.

T

Ae consegui, foi isso mesmo !
Falta de atenção me matou !

Muito obrigado !

Criado 4 de junho de 2013
Ultima resposta 4 de jun. de 2013
Respostas 2
Participantes 2