- class LianXI
- {
- public static void DengJi(int num)
- {
- char grade='n';
- if(num>=90&&num<=100)
- {
- grade='A';
- }
- else if(num>=80)
- {
- grade='B';
- }
- else if(num>=70)
- {
- grade='C';
- }
- else if(num>=60){
- grade='D';
- }
- else if(num>0)
- {
- grade='E';
- }
- switch(grade)
- {
- case 'A':
- System.out.println("分数是"+num+"等級為:A");
- break;
- case 'B':
- System.out.println("分数是"+num+"等級為:B");
- break;
- case 'C':
- System.out.println("分数是"+num+"等級為:C");
- break;
- case 'D':
- System.out.println("分数是"+num+"等級為:D");
- break;
- case 'E':
- System.out.println("分数是"+num+"等級為:E");
- break;
- default:
- System.out.println("输入的不是有效的分数");
- break;
-
-
- }
-
- }
- public static void main(String[] args)
- {
- DengJi(46);
- }
- }
复制代码 你应该是要在一个分数段中吧,switch语句只接受byte,char,int这些基本数据类型,而且是具体的数字,想你写的程序只有在90,100,80,89每个case对应的具体值,才会正确输出,所以应该自己设立一个标志,表示一个数据段。上面是我写的应该可以正确输出吧。呵呵 |