当前位置: 代码迷 >> J2SE >> 书上题目 04-16,该如何处理
  详细解决方案

书上题目 04-16,该如何处理

热度:417   发布时间:2016-04-24 01:17:55.0
书上题目 04-16
题目:从键盘输入成绩,90-100为A,80-89为B,70-79为C,60-69为D,不及格为E。
问题:如果光是输入数字是可以实现,但是考虑到有其他字符也同样可以输入,如何针对其他不同字符处理不同情况呢。
  比如:输入A-Z,提示输入错误。
  输入a-z,提示错误等。

请教各位了

------解决方案--------------------
Java code
    public static void main(String[] args) {        Scanner scan = new Scanner(System.in);        try {            scan.nextInt();        } catch (RuntimeException e) {            System.out.println("输入的并非全数字.");        }    }
------解决方案--------------------
注意Integer.parseInt和Scanner.nextInt只作整数验证,如需进一步验证可判断输入值:
Java code
    public static void main(String args[]) {        Scanner input=new Scanner(System.in);        int score=0;                System.out.print("请输入XX的成绩:");        try {            score=input.nextInt();                        if(score<0||score>100)                throw new InputMismatchException();        } catch (InputMismatchException ex) {            System.out.println("输入必须为0-100之间的整数!");            System.exit(0);        }                System.out.print("XX的成绩级别为:");        if(score<60)            System.out.println("E");        else if(score<70)            System.out.println("D");        else if(score<80)            System.out.println("C");        else if(score<90)            System.out.println("B");        else            System.out.println("A");    }
  相关解决方案