Problemas com repetição do while

2 respostas
M

Pessoal, estou com um problema de sintaxe que não estou conseguindo resolver. Programa abaixo:

import javax.swing.JApplet;
import javax.swing.JOptionPane;

public class Eleicoes_6 extends JApplet {
	
	String criar_senha, confirmar_senha,dig_voto,rep;
	int senha, confirmar, voto,primeiro_cont, segundo_cont,repetir;
	
	
		
	public void init ( )
	{
		//Cria uma senha
	 
	do
	{	
		criar_senha = JOptionPane.showInputDialog("CRIAR SENHA");  
		senha = Integer.parseInt(criar_senha);
		
	
		//Confirmar a senha
	
		
		while (confirmar != senha)  // Cria uma repetição até a senha correta for digitada
		{
		confirmar_senha = JOptionPane.showInputDialog("CONFIRME SUA SENHA");
		confirmar = Integer.parseInt(confirmar_senha);
		}
		
		
		if (senha == confirmar)
		{
			
		  while (voto != 1 && voto !=2) 			//Repetição para que seja digitado 1 ou 2
		  {
		   dig_voto = JOptionPane.showInputDialog("DIGITE SEU VOTO (1) OU (2)");
		   voto = Integer.parseInt(dig_voto);
		  }
		
		  // Inicializa os contadores
			
			primeiro_cont = 0;
			segundo_cont = 0;
			
			 if (voto == 1)
			 {
				 primeiro_cont++;
			 }
			
			 else
				 if (voto == 2)
				 {
					 segundo_cont++;
				 }
			
					 
								 
		} //Fecha as chaves do começo das eleiçoes
		
		 rep = JOptionPane.showInputDialog ("REPETIR?");
		 repetir = Integer.parseInt(rep);
	
	}	
	 while (repetir == 100);
		
	JOptionPane.showMessageDialog(null, "VOTOS 1 = " + primeiro_cont);
	JOptionPane.showMessageDialog(null,"VOTOS 2 =" + segundo_cont);
				 
		 
		 
		 
	}  // Fecha a chave do public void init 

}

Bom, 1° eu criei uma senha e uma confirmação de senha com uma repetição para que o usuario que por acaso digite a senha errada volte a digita-la. Quando a senha é aceita pergunta em qual numero gostaria de votar e novamente um repetiçao para que o usuario só digite 1ou 2. Logo depois foi criado uum contador para contar as vezes que cada numero foi votado. O problema é que nao consigo fazer o programa repetir novamente, ele repete, mas nao entra no if onde a senha é confirmada e sim cria uma nova senha e nao pede para votar. Queria saber se alguem poderia me ajudar nesse meu erro de sintaxe. Seria mais facil alguem executar o programa para entender bem. Obrigado!

2 Respostas

leomc

você está comparando strings com = e TEM que ser com equals…pesquise sobre isso…em java se você compara objetos com = você compara apenas as referências, os ponteiros;

akumaldo

O seu problema está sendo a lógica…comece pensando nos while por que estão nele o problema…
veja bem…precisa primeiro de um laço do - while para executar a votação ao menos uma vez…e de uma flagzinha para você verificar se o cara quer ou não continuar votando!!!
mas lembresse que isso está programação BEEEEEEEEEM estrutural…heheh

Criado 29 de julho de 2006
Ultima resposta 29 de jul. de 2006
Respostas 2
Participantes 3