题目:从键盘输入成绩,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"); }