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?
E ai fera, qual seu objetivo com esse código?
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
Obrigado, era isso mesmo " 0 Mostrar valor"
pq o programa não esta robando, por isso postei no forum.
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;