请给出这个程序错在什么地方:
public class Kscj{
    public static void pd(int fs,String name){
        switch (fs)
        {
            case fs>=90:
                {
                 System.out.println(name+",你的成绩为A.");
                 break;
                }
            case fs<90 & fs>=80:
                {
                 System.out.println(name+",你的成绩为B.");
                 break;
                }
            case fs<80 & fs>=70:
                {
                 System.out.println(name+",你的成绩为C.");
                 break;
                }
             case fs<70 & fs>=60:
                {
                 System.out.println(name+",你的成绩为D.");
                 break;
                }
             default:
                {
                 System.out.println(name+",你的成绩末级格.");
                 
                }
        }
    }
    public static void main(String[] args){
        int a=95;
        String b="jenny";
        pd (a, b);
    }
}

解决方案 »

  1.   

    case后只能是固定的数值。
    你这种情况应该用if (fs>=90) {
    System.out.println(name+",你的成绩为A."); 
    } else if (fs <90 && fs>=80) {
    System.out.println(name+",你的成绩为B."); 
    } else if (fs <80 && fs>=70) {
    System.out.println(name+",你的成绩为C."); 
    } else if (fs <70 && fs>=60) {
    System.out.println(name+",你的成绩为D."); 
    } else {
    System.out.println(name+",你的成绩末级格."); 
    }
      

  2.   

    一楼说的那样:
    public static void pd(int fs,String name){ 
    switch (fs/10) 

    case 10: 
    case 9:
    System.out.println(name+",你的成绩为A."); 
    break; 
    case 8:
    System.out.println(name+",你的成绩为B."); 
    break; 
    case 7:
    System.out.println(name+",你的成绩为C."); 
    break; 
    case 6:
    System.out.println(name+",你的成绩为D."); 
    break; 
    default: 
    System.out.println(name+",你的成绩末级格."); 
    }
      

  3.   

    是正解,注意break的非常规用法,有时候是还有用的!
      

  4.   

    case后只能是固定的数值。学习之
      

  5.   

     语法说明:
    1、 switch表达式的类型只能为byte、short、char和int这4种之一。
    2、 case 值1、值2…值n只能为常数或常量,不能为变量。
    3、 功能代码部分可以写任意多句。
    4、 break关键字的意思是中断,指结束switch语句,break语句为可选。
    5、 case语句可以有任意多句,是标号语句。
    6、 default语句可以写在switch语句中的任意位置,功能类似于if语句中的else。lz case后面用的是判断语句,不能执行