第九周动手动脑02

编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。 要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都不会崩溃。

设计思想:

定义一个异常类,如果里面的变量是字符串就输出“输入错误”,输入一个字符串,判断里面的内容,如果是字符,则抛出异常类,如果是整数则判断是否在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("不及格\n");

}

else if (num >= 60 && num < 70)

{

System.out.print("及格\n");

}

else if (num>= 70 && num< 80)

{

System.out.print("中\n");

}

else if (num >= 80 && num < 90)

{

System.out.print("良\n");

}

else

{

System.out.print("优\n");

}

}

}
class TestException extends Exception
{

String nn=new String();
TestException()
{
nn="输入有误";
}
public String toString()
{
return nn;
}
}

执行结果:

 

posted @ 2017-11-16 18:40  芬芳指法  阅读(106)  评论(0编辑  收藏  举报