¿como usar la sentencia case con caracteres en vez de enteros?

mirage
19 de Abril del 2008
Estoy empezando en java, y quiero hacer un programa para que dado un caracter al que yo doy un valor (aqui le dí el valor 'c')me muestre un texto asociado a ese caracter(en este caso nombres de meses del año).
El programa lo pruebo en el netbeans y en lugar de salir Marzo sale Mes no válido.
¿Dónde está el error?
Gracias y salu2
public class MesesDelAño1 {
public static void main (String [] args){
char mes = ('c') ;
switch(mes){
case 'a':
System.out.println ("Enero");
break;
case 'b':
System.out.println ("Febrero");
break;
case 'c':
System.out.println ("Marzo");
break;
case 'd':
System.out.println ("Abril");
break;
case 'e':
System.out.println ("Mayo");
break;
case 'f':
System.out.println ("Junio");
break;
case 'g':
System.out.println ("Julio");
break;
case 'h':
System.out.println ("Agosto");
break;
case 'i':
System.out.println ("Septiembre");
break;
case 'j':
System.out.println ("Octubre");
break;
case 'k':
System.out.println ("Noviembre");
break;
case 'l':
System.out.println ("Diciembre");
break;
default:
System.out.println ("Mes no valido");
break;
}
}

}