但这个说的是java7之前,java7中的switch支持String类型
例子程序:
public class Test {
public void test(String str) {
switch (str) {
case "abc":
System.out.println("abc");
break;
case "def":
System.out.println("def");
break;
default:
System.out.println("default");
}
}
}
楼主可以装了jdk7,试试看,他的原理是比较hashcode
----------------------------------------------------------------------
楼主的代码稍微改下也能实现你想要的功能
1、把char数组定义在外面
2、把c[0]传入switch语句中,这样就可以通过比较字符的assic码实现功能,代码如下
public static void main(String[] args)
{
char[] c = null;
try{
//输入流,从键盘接收数据
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
//给出提示
System.out.println("请输入一个字符");
//从控制台读取一行数据
String sr = br.readLine();
c = sr.toCharArray();
}
catch(Exception e){
e.printStackTrace();
}
switch (c[0])
{
case 'a':
System.out.println("星期一");
break;
case 'b':
System.out.println("星期二");
break;
case 'c':
System.out.println("星期三");
break;
case 'd':
System.out.println("星期四");
break;
case 'e':
System.out.println("星期五");
break;
case 'f':
System.out.println("星期六");
break;
case 'g':
System.out.println("星期日");
break;
default:
System.out.println("输入错误");
}
}