编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。 要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都不会崩溃。
设计思想:
定义一个异常类,如果里面的变量是字符串就输出“输入错误”,输入一个字符串,判断里面的内容,如果是字符,则抛出异常类,如果是整数则判断是否在0~100之间,不是则抛出异常,是则判断为不及格,及格,良优的其中一个,输出结果
流程图:
代码:
import java.util.*;
public class Test
{
public static void main(String args[])
{
while(true)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入考试成绩:");
try
{
String s = input.nextLine();
getnum(s);
}
catch (TestException e)
{
System.out.println(e.toString());
}
}
}
private static void getnum(String s) throws TestException
{
for (int i = s.length()-1; i >= 0;i--)
{
int chr = s.charAt(i);
if (chr < 48 || chr > 57)
{
throw new TestException();
}
}
double num = Double.parseDouble(s);
if (num < 0 || num> 100)
{
throw new TestException();
}
if (num>= 0 && num< 60)
{
System.out.print("不及格 ");
}
else if (num >= 60 && num < 70)
{
System.out.print("及格 ");
}
else if (num>= 70 && num< 80)
{
System.out.print("中 ");
}
else if (num >= 80 && num < 90)
{
System.out.print("良 ");
}
else
{
System.out.print("优 ");
}
}
}
class TestException extends Exception
{
String nn=new String();
TestException()
{
nn="输入有误";
}
public String toString()
{
return nn;
}
}
执行结果: