Usando o "CASE1 CASE2 CASE3"

4 respostas
R
class switguj

{

public static void main(String args[])

{
int a=0;
   int op=2;
             switch(op)
             {
                       case 1: System.out.println(a);
                                       a=a+1;

                       case 2: System.out.println(a);
                                       a=a+1;

                       case 3: System.out.println("Mostra o valor");
                                       a=a+1;
                                       break;
                       default: System.out.println("valor consulta com ERRO");
             }
     }
 }

O que aparecerá na tela?

4 Respostas

castiel

E ai fera, qual seu objetivo com esse código?

K

Antes de mais nada quando for postar algum código utilize as tags CODE (maiores informações http://www.guj.com.br/posts/list/50115.java) :thumbup:

Aparecerá na tela:

0 Mostra o valor

Isso se deve ao fato de que após entrar no case 2 (a == 2), a é incrementado (a = 3) e novamente entra no case 3 (a == 3).

O “mais” indicado seria colocar um break depois de cada case:

class switguj
{
public static void main(String args[])
{

int a=0;
int op=2;
switch(op)
{
case 1: System.out.println(a);
a=a+1;
break;

case 2: System.out.println(a);
a=a+1;
break;

case 3: System.out.println("Mostra o valor");
a=a+1;
break;

default: System.out.println("valor consulta com ERRO");
}
}
}

[]'s

R

Obrigado, era isso mesmo " 0 Mostrar valor"

pq o programa não esta robando, por isso postei no forum.

castiel

tente colocar para somar antes de chamar o System.out.println
deve ser por isso que não está dando o valor que vc deseja;

Criado 8 de julho de 2009
Ultima resposta 8 de jul. de 2009
Respostas 4
Participantes 3