我想利用Switch打印出成绩的级别,可是不知道怎么在程序中输入成绩。并且在执行的时候出现了数组溢出的错我。希望帮我调试一下,并且在输入95或者别的成绩时给出正确的成绩级别。请给出详细的调试之后的代码。谢谢。我写的测绘功能徐如下所示:
public class TestSwitch
{
   public static void main(String args[])
                {int i=Integer.parseInt(args[0]);
                 System.out.println("请输入成绩:");
                    int a=i/10;
                       switch(a)
                       {case 10:
                        case 9:
                                System.out.println("优秀");
                                break;
                        case 8:
                                         
                                System.out.println("良好");
                                break;
                        case 7:
                                        
                                System.out.println("中等");
                                break;                
                         case 6:
                                       
                                System.out.println("及格");
                                break;          
                            default:
                                System.out.println("不及格");         
                     }
          }
}

解决方案 »

  1.   

    public class TestSwitch {
        public static void main(String args[]) {
            System.out.print("请输入成绩:");
            Scanner scan = new Scanner(System.in);
            while (true) {
                String s = scan.next();
                if (s == null || s.equalsIgnoreCase("quit")) {
                    break;
                }
                int i = Integer.parseInt(s.trim());
                int a = i / 10;
                switch (a) {
                case 10:
                case 9:
                    System.out.println("优秀");
                    break;
                case 8:                System.out.println("良好");
                    break;
                case 7:                System.out.println("中等");
                    break;
                case 6:                System.out.println("及格");
                    break;
                default:
                    System.out.println("不及格");
                }
            }
            scan.close();
        }}
      

  2.   

    程序没有输入参数args[0]吗?public static void main(String[] args) throws Exception{
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String str = null;
    while(true){
    System.out.println("请输入成绩:");
    int scores = 0;
    str = reader.readLine();
    while(str == null || "".equals(str.trim())){
    System.out.println("输入成绩不合法!请重新输入");
    str = reader.readLine();
    }
    try{
    scores = Integer.parseInt(str);
    }catch(Exception e){
    e.printStackTrace();
    }
    int a = scores / 10;
    switch(a){
    case 10:
    case 9:
    System.out.println("优秀");
    break;
    case 8: System.out.println("良好");
    break;
    case 7: System.out.println("中等");
    break;
    case 6: System.out.println("及格");
    break;
    default:
    System.out.println("不及格");
    }
    }
    }
      

  3.   

    代码上面都写好了
    你用的是什么编译工具?如果是eclipse的话run-->open run dialog-->arguments,输入参数
    如果是在命令行的话,javac TestSwitch.java 参数