班级 计科二班 学号 20188430 姓名 詹洋
完成时间 2019.10.07
评分等级
Posted lll0719
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八周课程总结&实验报告相关的知识,希望对你有一定的参考价值。
班级 计科二班 学号 20188430 姓名 詹洋
完成时间 2019.10.07
评分等级
实验六 Java异常
车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品。
技术方案:
编写一个Exgeption的子类DangerException,该子类可以创建异常对象,该异常对象调用toShow()方法输出“危险物品”。编写一个Machine类,该类的方法checkBag(Goods goods)当发现参数goods是危险品时(goods的isDanger属性是true)将抛出DangerException异常。
程序在主类的main()方法中的try-catch语句的try部分让Machine类的实例调用checkBag(Goods goods)的方法,如果发现危险品就在try-catch语句的catch部分处理危险品。
实验源码:
public class HUA{ public static void main(String args[]) { System.out.println("计算开始:"); try { int score[] = {0, 1, 2, 3, 4, 5}; System.out.println("输出第七个数组元素:" + score[7]); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("数组越界:"+e); } finally { System.out.println("程序执行完毕"); } } }
实验结果:
实验源码:
import java.util.Scanner; import java.util.ArrayList; public class Hua { public static void main(String[] args) { ArrayList<String> Danger=new ArrayList<String>(); Danger.add("小刀"); Danger.add("ak47"); Danger.add("巴雷特"); Danger.add("军用指虎"); for(int i=0;;i++) { Scanner n=new Scanner(System.in); String thing=n.next(); Goods goods=new Goods(thing); Machine machine=new Machine(); try { machine.checkBag(goods); } catch (DangerException e) { if(Danger.contains(thing)) { e.toShow(); System.out.println(goods.getName() + ":有毒"); } else{ System.out.println(goods.getName() + ":没毛病"); } } } } } class Machine { public void checkBag(Goods goods) throws DangerException{ if(goods.isDanger){ DangerException danger=new DangerException(); throw danger; } else { System.out.println(goods.getName()+"不是危险物品!"); } } } class Goods { private String name; boolean isDanger=true; public Goods(String name){ this.name=name; } public void setName(String name) { this.name = name; } public String getName() { return name; } } class DangerException extends Exception{ String massage; public DangerException(){ this.massage="危险物品!"; } public void toShow(){ System.out.println("危险物品!"); } }
实验结果:
实验总结:在这一周的实验里,通过学习这个异常检测和异常处理,我理解到了很多可行用的方法,也学到了如何去运用这些高级方法去解决相应的问题;
还了解到了一些关于异常的关键字,使我印象深刻;
在定义一个方法的时候可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,抛给方法的调用者处理。
主要在方法声明上使用,并且的告诉用户本方法可能产生的异常,同时该方法可能不处理此异常。
throw是直接编写在语句之中的,表示人为进行异常的抛出。
用于方法内部主要表示进行手工的异常抛出。
以上是关于第八周课程总结&实验报告的主要内容,如果未能解决你的问题,请参考以下文章