Java程序设计_徐红 王灿_电子课件14_单元3_任务4.ppt

Java程序设计_徐红 王灿_电子课件14_单元3_任务4.ppt

ID:51617490

大小:484.50 KB

页数:20页

时间:2020-03-26

Java程序设计_徐红 王灿_电子课件14_单元3_任务4.ppt_第1页
Java程序设计_徐红 王灿_电子课件14_单元3_任务4.ppt_第2页
Java程序设计_徐红 王灿_电子课件14_单元3_任务4.ppt_第3页
Java程序设计_徐红 王灿_电子课件14_单元3_任务4.ppt_第4页
Java程序设计_徐红 王灿_电子课件14_单元3_任务4.ppt_第5页
资源描述:

《Java程序设计_徐红 王灿_电子课件14_单元3_任务4.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、任务四:最大公约数计算器设计单元三:数据与异常处理程序设计教学目标知识目标掌握自定义异常的创建和实现抛出的方法。能力目标能会使用自定义异常的创建和抛出的方法;运用异常知识区分异常和错误以及正确使用异常处理的优点。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:在数学计算或数字分析中,经常会用到计算两个数的最大公约数的问题。即:输入两个正整数,当两个数字有一个不是正整数时会产生异常。当输入非整数数字时,也产生异常。输入无错误后,可计算两个数的最大公约数。1.任务陈述2.知识准备自定义异常JAVA内

2、置的异常能够处理大多数常见的运行时错误,但也可以自己定义,自定义异常通常重载Exception构造方法来得到。创建自定义异常是为了表示应用程序的一些错误类型,为代码可能发生的一个或多个问题提供新含义。2.知识准备创建用户异常的格式如下:class异常类名extendsException{public异常类名(Stringmsg){super(msg);}}(1)使用关键字extends继承异常类Exception,创建自己的异常类;(2)自定义异常的构造方法中参数msg,用来给自定义异常命名。super方法给其父类

3、赋名称。消息的名称给父类传递消息2.知识准备【例3-13】定义一个自定义非整数异常。【源代码】classNopositiveExceptionextendsException{Stringmessage;NopositiveException(intm,intn){message="数字"+m+"或"+n+"不是正整数";}publicStringtoString(){returnmessage;}}2.知识准备3.11抛出异常throw在程序设计时有些异常不是系统可以判定的,当逻辑条件满足某种特定情况时则要主动(

4、手动)抛出异常,即使用throw语句抛出异常,它的基本格式如下:throw异常实例对象;这里异常实例对象一定是Throwable类或者它的一个子类。例如:thrownewNopositiveException();//抛出非整数异常2.知识准备3.12上报异常throws如果一个方法可以导致一个异常但不处理该异常,就可以使用throws语句来声明该异常,其基本语法格式为:返回值方法名(参数列表)throws异常列表throws字句列举了一个方法可能出现的所有异常类型,各个异常类型之间用逗号隔开。【例3-14】调用方

5、法在控制台获得一个整数,getData上报异常。在Main方法中捕获。2.知识准备publicclassThrowsDemo{publicstaticvoidgetData()throwsNumberFormatException{thrownewNumberFormatException();//格式不正确上报异常}publicstaticvoidmain(String[]args){try{getData();}catch(Exceptione){System.out.println(e);}}}3.1解决步骤

6、(1)打开Eclipse,创建一个类MaxFactor;(2)在类中定义一个方法,完成最大公约数的计算,声明该方法会抛出什么异常,同时在该方法内人为抛出一个异常对象;(3)在类的main方法中调用定义的方法,并且捕获方法抛出的异常,并进行处理;3.任务实施求最大公约数算法算法:辗转相除法先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约(如果最后的除数是

7、1,那么原来的两个数是互质数)。举例:求1515和600的最大公约数第一次:1515÷600,商2余315;第二次:600÷315,商1余285;第三次:315÷285,商1余30;第四次:285÷30,商9余15;第五次:30÷15,商2余0;1515和600的最大公约数是153.2任务代码importjava.util.Scanner;classNopositiveExceptionextendsException//自定义的异常信息{Stringmessage;NopositiveException(intm

8、,intn){message="数字"+m+"或"+n+"不是正整数";}publicStringtoString(){returnmessage;}}3.任务实施classComputer{publicintgetMaxCommonDivisor(intm,intn)throwsNopositiveException{if(n<=0

9、

10、m<=0){Nopo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。