A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小穿钉 高级黑马   /  2015-10-31 21:55  /  181 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小穿钉 于 2015-10-31 21:59 编辑

/**
*学生的实际成绩和理想成绩之间的差距,对于一些可能出现的异常,自定义异常类InPutException.
* 定义自定义异常类InPutException,有两个构造函数。无参和有参。
*/
package cn.com.exception;

public class InPutException extends Exception{
        InPutException(){}
        InPutException(String str){
                super(str);
        }
}





2 个回复

倒序浏览
package cn.com.exception;
import java.util.*;
public class DreamScore {
        //随机数当做考试的实际考分
        private int score1=(int)(Math.random()*100)+1;
        //定义输入理想分数的方法,输入不符合要求的就抛出自定义异常。
        public void inPutNum(String str) throws InPutException{
                int value=Integer.parseInt(str);
                if(value<0||value>100){
                        //产生并抛出自定义异常InPutExeption
                        throw new InPutException("输入分数不在0到100之间");
                }else{
                        System.out.println("输入的理想成绩为:"+value+"分");
                        System.out.println("实际成绩为:"+score1+"分");
                        System.out.println("理想成绩与实际成绩的差距为:"+(value-score1)+"分");
                }
        }
}
回复 使用道具 举报
package cn.com.exception;
import java.util.*;
public class ExceptionTest {
        public static void main(String[] args){
                String str;
                System.out.println("请输入理想的成绩:");
                Scanner in=new Scanner(System.in);
                str=in.next();
                DreamScore s=new DreamScore();
                //对自定义异常进行捕获处理
                try{
                        s.inPutNum(str);
                }catch(InPutException e){
                        //输出异常对象的描述信息
                        System.out.println("产生的错误信息为:"+e.toString());
                        //显示自定义异常出现的执行堆栈轨迹情况
                        e.printStackTrace();                       
                }
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马