Looping

2 respostas
I

fala galera…to com esse programinha aqui e quando eu seleciono uma opção, ele mostra legal, só que fica em looping, o painel n some de jeito nenhum, o que está errado ?

import javax.swing.*;

public class Exerc3

{

public static void main(String args[])

{

int x;

x=Integer.parseInt(JOptionPane.showInputDialog("Digite o codigo do cargo: "));

do
{

switch (x)

{

case 1:

JOptionPane.showMessageDialog(null,“Codigo: 1+"\n"+

Cargo: Analista de Recursos Humanos+"\n"+

Salario: 1.800,00 );

break;

valeu…
Rafael

2 Respostas

B

Ola,

Quando vc usa o switch/case, a forma de vc parar o processamento dele é um break, por exemplo:

int x... switch(x){ case 0: ... break; case 1: ... break; case 2: ... case 3: ... }
De acordo com o exemplo, se o x for 0 ou 1 ele só vai processar o que tiver dentro o case 0 ou 1, mas se for um 2 ele vai processar o 2 e 3… sacou…

Então, o problema no teu codigo é que o break que vc usou parou o switch, e não o do/while… eu diria que para vc resolver isto vc pode usar um rotulo, não sei se vc conhece este recurso… mas vai lá um exemplo:

import javax.swing.*; public class Exerc3{ public static void main(String args[]){ int x; x=Integer.parseInt(JOptionPane.showInputDialog("Digite o codigo do cargo: ")); do_while: do{ switch (x){ case 1: JOptionPane.showMessageDialog(null,"Codigo: 1"+"\n"+ "Cargo: Analista de Recursos Humanos"+"\n"+ "Salario: 1.800,00" ); break do_while; }while(true);

I

valeu...já diminui bastante os erros...

e como eu finalizo esse do_while ? o final do código ficou assim
case  17:
            JOptionPane.showMessageDialog(null,"Codigo: 17"+"\n"+
                                               "Cargo: Secretaria"+"\n"+
                                               "Salario: 1.462,00" ); 
             break do_while;
             while (true);       
           
    case 0:
              JOptionPane.showMessageDialog(null,"Saindo do programa");
            System.exit(0);
     default:
              JOptionPane.showMessageDialog(null,"Codigo invalido");
     }
   }
     
 }
}
[/quote]

Descobri uma parada...tirei o DO e o no final que tinha um while (x!=0)
e funcionou...

n sei pq coloquei esse DO...mas enfim...agora tá beleza...vamos ao próximo passo...valeu Bruno.

abs

Rafael

Criado 7 de março de 2007
Ultima resposta 8 de mar. de 2007
Respostas 2
Participantes 2