Switch AVANCADO

9 respostas
P

Olá javamigos !

o comando switch… sei como usá-lo… porém a um tempo atrá estudava uma linguagem que permitia que realizar intervalos usando a estrutura do switch.

Em código exemplificarei o que quero.

Modo tradicional de se usar o switch. :

switch(monthNow){

case 1: mes=“Janeiro”; break;

case 2: mes=“Fevereiro”; break;

case 3: mes=“Março”; break;

case 4: mes=“Abril”; break;

case 5: mes=“Maio”; break;

case 6: mes=“Junho”; break;

case 7: mes=“Julho”; break;

case 8: mes=“Agosto”; break;

case 9: mes=“Setembro”; break;

case 10: mes=“Outubro”; break;

case 11: mes=“Novembro”; break;

default: mes=Dezembro; break;

}

Quero que meu switch fique em intervalos tipo assim :

switch(monthNow){

case 1 a 3: mes=“Ferias”; break;

case 4 a 11: mes=“trabalho”; break;

case 12: mes=“Ferias”; break;

default: mes=Atividades; break;

}

Enfim, esta estrutura existe no JAVA ?

Obrigado.

9 Respostas

L

Bem, que eu conheço, pode ficar assim:

switch(monthNow){
case 1:
case 2:
case 3: mes="Ferias"; break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11: mes="trabalho"; break;
case 12: mes="Ferias"; break;
default: mes="Atividades";
}
P

Obrigado Loiane !

L

:grin:

J

A unica coisa que não existe no java que tem nesse seu código é esse a que voce colocou depois do um e do quatro. tire o “a” e ponha dois pontos.

switch(algo()){
case 1: 2:
case 3: 4:
case 5:

ta bem resumido, to evidenciando só o erro, deu pra entender?

L

switch(algo()){
case 1: 2:
case 3: 4:
case 5:

Tentei fazer isso mas deu erro de compilação!
Tem certeza que dá pra fazer?

Seria muito legal se funcionasse, pois acho o switch bem limitado!

Abraços

W
switch(x){

case 1…3;

System.out.println(“entre 1e 3”);

break;

case 3…6:

System.out.println(“entre 3 e 6”);

break;

case 6…9:

System.out.println(“blablab”);

break;

default:

System.out.println(Valor diferente);

break;

}
W

FALA AI BLZ ,

KARA COM ESSE EXEMPLO QUE FOI CITADO ACIMA

switch(monthNow){

case 1:

case 2:

case 3: mes=“Ferias”; break;

case 4:

case 5:

case 6:

case 7:

case 8:

case 9:

case 10:

case 11: mes=“trabalho”; break;

case 12: mes=“Ferias”; break;

default: mes=Atividades;

}

é o que funciona pq o witch ele procura o break ;
enquando ele não o acha ele vai checando …
é como se fosse varios if’s encadeados …srs

pq na verdade ele não tem uma função como no sql
between (1 intervalo e outro intervalo)

nesse caso voce pode usar o if ou for no caso como o intervalo é conhecido e incrementando ele . …

vai do gosto blz ?

flw ;.s.rs

L

cara, testa o que o w_java falou…
1…3, porque em outras linguagens isso é possível, nunca testei em java…

abrass

G

Bom, eu usaria da seguinte forma:

if (monthNow <= 3 || monthNow >= 12) {

mes = Ferias;

} else {

mes=trabalho;

}

mais simples não???

Criado 29 de junho de 2006
Ultima resposta 11 de set. de 2007
Respostas 9
Participantes 7