Como faria essa classe com o switch ao inves do if

[code]package lista3;

import java.util.Scanner;

class MesComEnum {
enum mes {
JANEIRO(1), FEVEREIRO(2), MARÇO(3), ABRIL(4),
MAIO(5), JUNHO(6), JULHO(7), AGOSTO(8),
SETEMBRO(9), OUTUBRO(10), NOVEMBRO(11), DEZEMBRO(12);

	mes(int a) {
		numMes = a;
	}

	private int numMes;

	public int getMes() {
		return numMes;
	}
}

public static void main(String args[]) {
	Scanner dados = new Scanner(System.in);
	mes jan = mes.JANEIRO;
	mes fev = mes.FEVEREIRO;
	mes mar = mes.MARÇO;
	mes abr = mes.ABRIL;
	mes mai = mes.MAIO;
	mes jun = mes.JUNHO;
	mes jul = mes.JULHO;
	mes ago = mes.AGOSTO;
	mes set = mes.SETEMBRO;
	mes out = mes.OUTUBRO;
	mes nov = mes.NOVEMBRO;
	mes dez = mes.DEZEMBRO;

	System.out.println("Digite o número de um Mês");
	int sec = dados.nextInt();

	if (sec == jan.getMes()) {
		System.out.println("Mês de " + mes.JANEIRO);
	} else if (sec == fev.getMes()) {
		System.out.println("Mês de " + mes.FEVEREIRO);
	} else if (sec == mar.getMes()) {
		System.out.println("Mês de " + mes.MARÇO);
	} else if (sec == abr.getMes()) {
		System.out.println("Mês de " + mes.ABRIL);
	} else if (sec == mai.getMes()) {
		System.out.println("Mês de " + mes.MAIO);
	} else if (sec == jun.getMes()) {
		System.out.println("Mês de " + mes.JUNHO);
	} else if (sec == jul.getMes()) {
		System.out.println("Mês de " + mes.JULHO);
	} else if (sec == ago.getMes()) {
		System.out.println("Mês de " + mes.AGOSTO);
	} else if (sec == set.getMes()) {
		System.out.println("Mês de " + mes.SETEMBRO);
	} else if (sec == out.getMes()) {
		System.out.println("Mês de " + mes.OUTUBRO);
	} else if (sec == nov.getMes()) {
		System.out.println("Mês de " + mes.NOVEMBRO);
	} else if (sec == dez.getMes()) {
		System.out.println("Mês de " + mes.DEZEMBRO);
	}
	 

}

}
[/code]

Switch permite escolher entre tipos primitivos como int e char e enums.
Logo,

switch(sec){
case 1:
//faz algo
break;
case 2:
//faz algo
break;
}

Manja?

Só que fazendo assim não funciona, só funciona sem o uso do enum, pegando o que o usuario digita e coloca no case direto

mas colocar o sec no switch e comparar cada case não está funcionando…

[quote=brunoprogramadorjava]Só que fazendo assim não funciona, só funciona sem o uso do enum, pegando o que o usuario digita e coloca no case direto

mas colocar o sec no switch e comparar cada case não está funcionando…[/quote]
Isso significa uma coisa: você está fazendo errado.

Qual o erro?
O que acontece?
Eu apenas citei o que o switch pode fazer, claro que você irá fazer a escolha a partir do que o usuário inserir.

Olá brunoprogramadorjava!

No próprio GUJ tem o post sobre isso, dê uma olha em http://www.guj.com.br/java/75794-enum-em-bloco-switchcase, acredito que irá te ajudar.

Abraços!

Olá brunoprogramadorjava!

No próprio GUJ tem o post sobre isso, dê uma olha em http://www.guj.com.br/java/75794-enum-em-bloco-switchcase, acredito que irá te ajudar.

Abraços!

Muito obrigado Suellen e a todos que ajudaram