java接收用户通过键盘不断输入表示某门课程的成绩的字符串(按回车为一个字符串结束),当输入非法数字(输入值小于0或大于100)时提示成绩输入有误,当输入为非数字的字符串时提示输入格式不合法。
程序如下:
import java.util.Scanner;
class cuowuException extends Exception //自定义异常类,继承Exception类
{
public cuowuException(String msg)
{
super(msg);//调用父类的构造方法
}
}
class Numbertest //自定义异常类
{
public int score(int a) throws cuowuException //当a<0或a>100时,抛出一个自定义异常
{
if(a<0 || a>100)
{
throw new cuowuException("成绩输入有误");//抛出异常
}
return a;//返回a
}
}
class InputScore //主程序
{
public static void main(String[] args)
{
while(true)
{
//捕获异常
try
{
Scanner sc=new Scanner(System.in);//从键盘接收数据
System.out.println("请输入成绩:");
int a=sc.nextInt(); //输入a的数值
Numbertest n=new Numbertest();
try
{
int i=n.score(a);
System.out.println("成绩:"+i);//输出成绩
}
catch(cuowuException e)
{
System.out.println(e);//输出
}
}
catch(Exception e)//由于变量定义为int型,所以输入字符时,则输出该异常信息
{
System.out.println("输入格式不合法");//输出
}
}
}
}
结果如下: