Ajuda While (Resolvido)

Galera fiz esse programinha que no final tem que aparecer “deseja continuar S/N”, e depois disse voto computado

segue :

String idade = “”;
String idade1 = “”;
int total_idade = 0;
int total_idade1 = 0;

	try{
		idade = JOptionPane.showInputDialog("Informe a idade do eleitor: ");
		total_idade = Integer.parseInt(idade);
		
		 if ( total_idade >=16){
				System.out.println ( " Eleitor Apto a votar");
		}
		else{
				System.out.println ( " Eleitor com idade inferor a  permitida por lei");
		}
		 
		 idade1 = JOptionPane.showInputDialog("deseja continuar a Votar S/N: ");
		 total_idade1 = Integer.parseInt(idade1);
		 while( total_idade1 == 'S'){
			 
		 }
	}
 

 catch (NumberFormatException e)
	{
	 JOptionPane.showMessageDialog(null,"Houve erro na conversão, digite apenas caracteres numéricos");
	}
}

}

Eu não entendi bem qual é o seu problema? E vc está convertendo um “S” ou “N” para um inteiro e depois pegunta se o valor inteiro é igual a “S”? Não está muito coerente essa condição.

Nesta linha

while( total_idade1 == 'S'){ 

pode ser que não obedeça a lógica que você talvez esteja querendo.

No caso seria melhor, talvez, pedir para o usuário digitar 0 ou -1, pois daí sim o operador “==” ia funcionar adequadamente.

Para comparar strings use o método equals()

nesse msn, se o usuario digita ‘S’ ele continua a fazer a votação e se ele digita n encerra o programa

Olá… tem algumaS alterações que voce precisa fazer, como por exemplo nao converter uma string pra int se vc quer comparar com uma string…

segue o código corrigido:

public class Main {

	public static void main(String[] args) {
		String idade = "";
		String idade1 = "";
		int total_idade = 0;
		

		do{
		try{
		idade = JOptionPane.showInputDialog("Informe a idade do eleitor: ");
		total_idade = Integer.parseInt(idade);

		if ( total_idade >=16){
		System.out.println ( " Eleitor Apto a votar");
		}
		else{
		System.out.println ( " Eleitor com idade inferor a permitida por lei");
		}

		idade1 = JOptionPane.showInputDialog("deseja continuar a Votar S/N: ");
		
		
		}catch (NumberFormatException e)
		{
		JOptionPane.showMessageDialog(null,"Houve erro na conversão, digite apenas caracteres numéricos");
		}
		}while(idade1.equals("S"));
	}

}

qualquer coisa… estamos aí…
:wink:

[quote=jLady]Olá… tem algumaS alterações que voce precisa fazer, como por exemplo nao converter uma string pra int se vc quer comparar com uma string…

segue o código corrigido:

public class Main {

	public static void main(String[] args) {
		String idade = "";
		String idade1 = "";
		int total_idade = 0;
		

		do{
		try{
		idade = JOptionPane.showInputDialog("Informe a idade do eleitor: ");
		total_idade = Integer.parseInt(idade);

		if ( total_idade >=16){
		System.out.println ( " Eleitor Apto a votar");
		}
		else{
		System.out.println ( " Eleitor com idade inferor a permitida por lei");
		}

		idade1 = JOptionPane.showInputDialog("deseja continuar a Votar S/N: ");
		
		
		}catch (NumberFormatException e)
		{
		JOptionPane.showMessageDialog(null,"Houve erro na conversão, digite apenas caracteres numéricos");
		}
		}while(idade1.equals("S"));
	}

}

qualquer coisa… estamos aí…
;)[/quote]

Amigo rodou , mas tipo eu queria votar aparecer se obrigatorio ou não depois pergutar se desejo continuar S/n se sim continuar a votação se não encerrar programa. tendeu?

try{
idade = JOptionPane.showInputDialog("Informe a idade do eleitor: ");
total_idade = Integer.parseInt(idade);

    if ( total_idade >=16){   
    	JOptionPane.showMessageDialog ( null, " Voto Obrigatório");   
    }   
    else{   
    System.out.println ( " Eleitor com idade inferor a permitida por lei");   
    }   

[b]    idade1 = JOptionPane.showInputDialog("deseja continuar a Votar S/N: ");   
    while(idade1.equals("S"));[/b]           
    }catch (NumberFormatException e)   
    {   
    JOptionPane.showMessageDialog(null,"Houve erro na conversão, digite apenas caracteres numéricos");   
    }   
    }   
}

Acho que posso te ajudar… mas pelo que eu entendi está faltando alguma coisa…
O usuario vai informar a idade… se ele nao tiver idade, o programa avisa e faz o que?

Se ele for maior de 16 e menor de 18, avisa que nao eh obrigatorio e pergunta se quer votar, se for maior de 18 avisa que é obrigatorio e pergunta se quer votar…

mas se depois do “S”… o q vem depois…? ele chama um método “votar()”?

[quote=jLady]Acho que posso te ajudar… mas pelo que eu entendi está faltando alguma coisa…
O usuario vai informar a idade… se ele nao tiver idade, o programa avisa e faz o que?

R: se ele não tiver a idade eu ja arrumei vai aparecer “foto facultativo”

Se ele for maior de 16 e menor de 18, avisa que nao eh obrigatorio e pergunta se quer votar, se for maior de 18 avisa que é obrigatorio e pergunta se quer votar…

mas se depois do “S”… o q vem depois…? ele chama um método “votar()”?[/quote]

R: isso se eu digitar S, continuo votando mas se eu digitar N encerra o programa

[quote=jLady]Acho que posso te ajudar… mas pelo que eu entendi está faltando alguma coisa…
O usuario vai informar a idade… se ele nao tiver idade, o programa avisa e faz o que?

Se ele for maior de 16 e menor de 18, avisa que nao eh obrigatorio e pergunta se quer votar, se for maior de 18 avisa que é obrigatorio e pergunta se quer votar…

mas se depois do “S”… o q vem depois…? ele chama um método “votar()”?[/quote]

conseguiu?

Usa assim o while: while (idade1.equalsIgnoreCase("S"));

Acho que a diferença entre maiusculas e minusculas quando digita o S ou s é que pode estar impedindo que continue no loop.

[quote=jandavid][quote=jLady]Acho que posso te ajudar… mas pelo que eu entendi está faltando alguma coisa…
O usuario vai informar a idade… se ele nao tiver idade, o programa avisa e faz o que?

Se ele for maior de 16 e menor de 18, avisa que nao eh obrigatorio e pergunta se quer votar, se for maior de 18 avisa que é obrigatorio e pergunta se quer votar…

mas se depois do “S”… o q vem depois…? ele chama um método “votar()”?[/quote]

conseguiu?[/quote]
Hauahuaahuahuahauhauahuahauahuahauahua depois dessa eu parava… eu até que ia ajudar… hauahuahauahuahauahauha ri alto aqui no trampo…

adriano_si ,
não vi qual é a graça meu bem…
se voce não quer ajudar… tambem nao atrapalhe…
se vc nasceu sabendo, entende tudo, é perfeito… go on! be happy!
e deixa quem nao sabe aprender…

olá jandavid,

creio que seja isso… aqui funcionou!


public class Main {

	public static void main(String[] args) {
		
		String resposta = "";
		int totalIdade = 0;


		do{
			try{

				totalIdade = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a idade:"));

				if(totalIdade <16){
					JOptionPane.showMessageDialog(null, "O eleitor nao tem idade suficiente");
					resposta = JOptionPane.showInputDialog(null, "Continuar votação [S/N]");
				}else if(totalIdade <18){
					JOptionPane.showMessageDialog(null, "O voto não é obrigatório");
					resposta = JOptionPane.showInputDialog(null, "Continuar votação [S/N]");
				}else{
					JOptionPane.showMessageDialog(null, "Voto obrigatorio");
					resposta = JOptionPane.showInputDialog(null, "Continuar votação [S/N]");
				}

			}catch(Exception e){
				JOptionPane.showMessageDialog(null,"Houve erro na conversão, digite apenas caracteres numéricos");
			}


		}while(resposta.equalsIgnoreCase("S"));


	}


}

:wink:

Ok minha amiga… se vc acha que está ajudando-o continue fazendo a tarefa de casa dele… Vamos ver o quanto ele vai aprender…

Realmente não nasci sabendo e precisei de ajuda pra aprender… em algumas vezes, tomei pela cara também por ter pesquisado pouco, mas daí a vir aqui e perguntar se alguém conseguiu fazer por mim ??? Ué… isso é aprender ??? tentou pelo menos ???

Vai até contra as regras básicas da Educação… Mas tudo bem “MEU BEM” continue assim e ajude o rapaz a “aprender” a ser preguiçoso…

Abs []

[quote=jandavid][quote=jLady]Acho que posso te ajudar… mas pelo que eu entendi está faltando alguma coisa…
O usuario vai informar a idade… se ele nao tiver idade, o programa avisa e faz o que?

Se ele for maior de 16 e menor de 18, avisa que nao eh obrigatorio e pergunta se quer votar, se for maior de 18 avisa que é obrigatorio e pergunta se quer votar…

mas se depois do “S”… o q vem depois…? ele chama um método “votar()”?[/quote]

conseguiu?[/quote]

Oi jandavid ,

Não vi nada de mais aqui,pois a jLade se colocou a disposição para ajuda-lo… :wink:

Não consegui ficar quieta…rs… :oops:

[quote=jLady]olá jandavid,

creio que seja isso… aqui funcionou!


public class Main {

	public static void main(String[] args) {
		
		String resposta = "";
		int totalIdade = 0;


		do{
			try{

				totalIdade = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a idade:"));

				if(totalIdade <16){
					JOptionPane.showMessageDialog(null, "O eleitor nao tem idade suficiente");
					resposta = JOptionPane.showInputDialog(null, "Continuar votação [S/N]");
				}else if(totalIdade <18){
					JOptionPane.showMessageDialog(null, "O voto não é obrigatório");
					resposta = JOptionPane.showInputDialog(null, "Continuar votação [S/N]");
				}else{
					JOptionPane.showMessageDialog(null, "Voto obrigatorio");
					resposta = JOptionPane.showInputDialog(null, "Continuar votação [S/N]");
				}

			}catch(Exception e){
				JOptionPane.showMessageDialog(null,"Houve erro na conversão, digite apenas caracteres numéricos");
			}


		}while(resposta.equalsIgnoreCase("S"));


	}


}

;)[/quote]

Valeu cara

Anime… o problema é…

1 - O cara colocou a solução do problema dele no tópico…

2 - Não implementou o WHILE em momento algum e nem tentou fazer isso…

3 - JLady deu o caminho das pedras corrigindo parte do código dele e retornando uma possível continuação da solução;

4 - com tudo isso ele ainda assim não tentou terminar e ainda perguntou se ela conseguiu por ele…

Eu apenas dei minha opnião também… eu parava, porque isso NÃO É QUERER APRENDER… Se ela continuou… bom, cada um é cada um…

Mas que assim não se aprende é fato…

Espero ter sido claro pra não causar mais STRESS…

Abs []

[quote=adriano_si]Anime, o problema é…

1 - O cara colocou a solução do problema dele no tópico…

2 - Não implementou o WHILE em momento algum e nem tentou fazer isso…

3 - JLady deu o caminho das pedras corrigindo parte do código dele e retornando uma possível continuação da solução;

4 - com tudo isso ele ainda assim não tentou terminar e ainda perguntou se ela conseguiu por ele…

Eu apenas dei minha opnião também… eu parava, porque isso NÃO É QUERER APRENDER… Se ela continuou… bom, cada um é cada um…

Mas que assim não se aprende é fato…

Espero ter sido claro pra não causar mais STRESS…

Abs [][/quote]

OK :wink:

exato, Anime…

eu disse que podia ajudar e eu ajudo…
se era o dever de casa de alguem ou não, acho que vai dele ter a consciencia… alem do que ele tentou fazer e não conseguiu… e pediu ajuda… todos fazemos isso… empacamos em coisas que nao sabemos, ou em coisas que sabemos mas nao conseguimos… voce pode ate estar certo adriano_si…

eu posto problemas do meu trabalho aqui, coisas que pesquisei e nao entendi…
entao eu teria q dividir meu salario com todos que me ajudaram…

e se voce nao concorda… nao venha dar um hahahaha…
o cara ta com duvidas, ele tentou, postou o codigo dele…

bom… pelo menos eu tentei ajudar… pq eu espero q qnd eu precise de ajuda ngm pense “que preguiçosa, pagam o salario dela pra q?”

:wink:

[quote=adriano_si]Anime, o problema é…

1 - O cara colocou a solução do problema dele no tópico…

2 - Não implementou o WHILE em momento algum e nem tentou fazer isso…

3 - JLady deu o caminho das pedras corrigindo parte do código dele e retornando uma possível continuação da solução;

4 - com tudo isso ele ainda assim não tentou terminar e ainda perguntou se ela conseguiu por ele…

Eu apenas dei minha opnião também… eu parava, porque isso NÃO É QUERER APRENDER… Se ela continuou… bom, cada um é cada um…

Mas que assim não se aprende é fato…

Espero ter sido claro pra não causar mais STRESS…

Abs [][/quote]

Cuida da sua vida