教材代码完成情况测试P171(课上测试)
一、任务详情
- 0 在Ubuntu中用自己的有位学号建一个文件,教材p171 Example7_7
 - 增加一个类DangerException2, 显示“超轻”异常,超轻的阈值minContent设为你的学号后三位。
 
- 2.修改p171 Example7_7中代码和相关代码,增加一行对DangerException2进行测试
 - 提交添加的代码和运行结果截图
 
二、源代码
1.Example7_7类
public class Example7_7 {
   public static void main(String args[]) {
      CargoBoat ship = new CargoBoat();
      ship.setMaxContent(1000);
      ship.setMinContent(215);
      int m =0;
	      try{
           ship.loading2(m);
		m=0;
	}
      catch(DangerException2 e){
           System.out.println(e.warnMess2());
	}
      try{
           ship.loading(m);
           m = 216;
           ship.loading(m);
           m = 367;
           ship.loading(m);
           m = 555;
           ship.loading(m);
      }
      catch(DangerException e) {
           System.out.println(e.warnMess());
           System.out.println("无法再装载重量是"+m+"吨的集装箱");
      }
      finally {
          System.out.printf("货船将正点启航");
      }
  }
}
2.CargoBoat类
public class CargoBoat {
     int realContent;  //装载的重量
     int minContent;//最小装载量
     int maxContent;   //最大装载量
     public void setMaxContent(int c) {
         maxContent = c;
     }
     public void setMinContent(int c){
        minContent = c;
    }
    public void loading2(int m) throws DangerException2{
        realContent += m;
        if(realContent<minContent){
            throw new DangerException2();
        }
        System.out.println("目前装载了"+realContent+"吨货物");
    }
     public void loading(int m) throws DangerException {
       realContent += m;
       if(realContent>maxContent) {
          throw new DangerException();
       }
       System.out.println("目前装载了"+realContent+"吨货物");
     }
}
3.DangerException类
public class DangerException extends Exception {
   final String message = "超重";
   public String warnMess() {
       return message;
   }
}
4.DangerException2类
public class DangerException2 extends Exception {
   final String message = "超轻";
   public String warnMess2() {
       return message;
   }
}
三、运行结果截图
我的学号是20175215,后三位是215,我测试的重量是0和216

四、程序修改与完善
将Example7_7类修改后如下
public class Example7_7 {
    public static void main(String args[]) {
        CargoBoat ship = new CargoBoat();
        ship.setMaxContent(1000);
        int n=215;
        ship.setMinContent(n);
        int m =0;
        try{
            ship.loading2(m);
            m=100;
            ship.loading2(m);
            m=200;
        }
        catch(DangerException2 e){
            System.out.println(e.warnMess2());
            System.out.println("需要再装载"+(n-m)+"吨货物");
        }
        try{
            ship.loading(m);
            m = 400;
            ship.loading(m);
            m = 367;
            ship.loading(m);
            m = 555;
            ship.loading(m);
        }
        catch(DangerException e) {
            System.out.println(e.warnMess());
            System.out.println("无法再装载重量是"+m+"吨的集装箱");
        }
        finally {
            System.out.printf("货船将正点启航");
        }
    }
}
运行结果为:

教材代码完成情况测试P171(课上测试)的更多相关文章
- Bag类的接口的实现与测试(课上测试补做)
		
Bag类的接口的实现与测试(课上测试补做) 截图 由于截图有一定的的限制就没有吧所有的代码截进去,后面有代码. 代码 package ClassTest; import java.util.Objec ...
 - 20165223《信息安全系统设计基础》第九周学习总结 & 第八周课上测试
		
目录 [第九周学习总结] 教材内容总结 [第八周课上测试] (一)求命令行传入整数参数的和 (二)练习Y86-64模拟器汇编 (三)基于socket实现daytime(13)服务器和客户端 参考资料 ...
 - 第六周课上测试-3-ch02补充作业
		
实验要求: 编写一个程序 "week0603学号.c",运行下面代码: short int v = -学号后四位 unsigned short uv = (unsigned sho ...
 - 2018-2019-1 20165330 《信息安全系统设计基础》第六周课上测试ch02&课下作业
		
课上测试 测试-3-ch02 任务详情 编写一个程序 "week0203学号.c",运行下面代码: 1 short int v = -学号后四位 2 unsigned short ...
 - 第六周课上测试-1-ch02
		
第六周课上测试-1-ch02 1. 要求: 1.参考附图代码,编写一个程序 "week0601学号.c",判断一下你的电脑是大端还是小端. 2. 提交运行结果"学号XXX ...
 - 20165221-week2课上测试补做
		
week2-课上测试补做 测试一: 参考附图代码,编写一个程序 "week0201学号.c",判断一下你的电脑是大端还是小端. 提交运行结果"学号XXXX的笔记本电脑是X ...
 - 20165305 苏振龙《Java程序设计》第四周课上测试补做
		
第一次测试 第二次测试 第三次测试 上传代码 第四次测试 总结 之前我一直在git bash进行程序设计,但是对于我来说操作起来有点困难,所以我改用了虚拟机,之后之前一直困扰我的问题在虚拟机下就没有了 ...
 - mapreduce课上测试
		
今天上课的时候进行了一个mapreduce的实验,但是由于课下对于mapreduce还有hive的理解不够透彻,因此导致了课上没能完成这次实验. 关于本次课堂上的实验的内容大致为: 1.对一个70k的 ...
 - 20165305 苏振龙《Java程序设计》第八周课上测试补做
		
1. 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截图 2. ...
 
随机推荐
- git删除已经push的远程文件或文件夹
			
在使用git提交项目时,有时候会误提交一下文件,比如:*.iml,*.project,*.settings,.idea/*等文件,有时候这些不需要提交的文件可以加入到.gitignore,在提交的时候 ...
 - Linux scp命令详解(服务器之间复制文件或目录)
			
scp:服务器之间复制文件或目录 一.命令格式: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] ...
 - 惟一ID生成方法
			
几乎所有的业务系统,都存在生成惟一ID的需求,例如: 用户ID:user_id 订单ID: order_id 消息ID: msg_id 常见的ID生成有三大类方法: 一.中间件实现 1.利用Mysql ...
 - wampserver  You don't have permission to access / on this server. 解决方法
			
最近在安装最近版wampserver 2.2 d时发现安装好后启动服务器,访问localhost显示You don't have permission to access / on this serv ...
 - 初识linux内核漏洞利用
			
0x00 简介 之前只接触过应用层的漏洞利用, 这次第一次接触到内核层次的,小结一下. 0x01 概况 这次接触到的,是吾爱破解挑战赛里的一个题,给了一个有问题的驱动程序,要求在ubuntu 14.0 ...
 - Linux 日志分析
			
学会查看日志文件是一件很有意义的事,因为在Linux系统中运行的程序通常会把一些系统消息和错误消息写入对应的日志中,若是一旦出现问题,我们就可以通过查看日志来迅速定位,及时解决故障. 日志的三种类型 ...
 - javascript join以及slice,push函数
			
1.join定义和用法 join() 方法用于把数组中的所有元素放入一个字符串. 元素是通过指定的分隔符进行分隔的. arrayObject.join(separator) separator:可选. ...
 - Backtracking(一)
			
LeetCode中涉及到回溯的题目有通用的解题套路: 46. permutations 这一类回溯题目中的基础中的基础,无重复数字枚举: /* Given a collection of distin ...
 - CH5104 I-country[线性DP+分类讨论]
			
http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%B ...
 - HTML5 Geolocation学习
			
GeolocationAPI学习,我写的挺枯燥的,直接跳到最后看示例. 5.1 位置信息 HTML5 Geolocation API的使用方法相当简单.请求一个位置信息,如果用户同意,浏览器就会返回位 ...