Java作业:异常处理实验

NumberFormatException异常
ArrayIndex0utBoundsException异常
Illega1ArgumentException异常
IllegalTriangleException异常

课本426页12.1;

代码

结果

课本427页12.3;

代码

结果

课本427页12.4;

代码

package leiPackage;
class NewLoan {private double annualInterestRate;private int numOfYears;private double loanAmount;public NewLoan() {this(7.5, 30, 100000);}public NewLoan(double annualInterestRate, int numOfYears, double loanAmount) {if (annualInterestRate <= 0)throw new IllegalArgumentException("Annual interest rate must be positive.");if (numOfYears <= 0)throw new IllegalArgumentException("Number of years must be positive.");if (loanAmount <= 0)throw new IllegalArgumentException("Loan amount must be positive.");setAnnualInterestRate(annualInterestRate);setNumOfYears(numOfYears);setLoanAmount(loanAmount);}public double getAnnualInterestRate() {return annualInterestRate;}public void setAnnualInterestRate(double annualInterestRate) {if (annualInterestRate <= 0)throw new IllegalArgumentException("Annual interest rate must be positive.");this.annualInterestRate = annualInterestRate;}public int getNumOfYears() {return numOfYears;}public void setNumOfYears(int numOfYears) {if (numOfYears <= 0)throw new IllegalArgumentException("Number of years must be positive.");this.numOfYears = numOfYears;}public double getLoanAmount() {return loanAmount;}public void setLoanAmount(double loanAmount) {if (loanAmount <= 0)throw new IllegalArgumentException("Loan amount must be positive.");this.loanAmount = loanAmount;}public double monthlyPayment() {double monthlyInterestRate = annualInterestRate / 1200;return loanAmount * monthlyInterestRate / (1 - (Math.pow(1 / (1 + monthlyInterestRate), numOfYears * 12)));}public double totalPayment() {return monthlyPayment() * numOfYears * 12;}
}
public class LoanException {public static void main(String[] args) {try {new NewLoan(7.5, 30, 100000);NewLoan m = new NewLoan(-1, 3, 3);new NewLoan(7.5, 30, 20000);} catch (Exception ex) {System.out.println(ex);}System.out.println("End of test");}
}

结果

课本427页12.5;

代码

package leiPackage;
public class IllegalTriangleExp {public static void main(String[] args) {try {System.out.println("测试t1:");TriangleWithException t1 = new TriangleWithException(1.5, 3, 4);System.out.println("Perimeter of t1: " + t1.getPerimeter());System.out.println("Area of t1: " + t1.getArea());System.out.println("t1测试结束 ");System.out.println();System.out.println("测试t2:");TriangleWithException t2 = new TriangleWithException(1, 2, 4);System.out.println("Perimeter for t2: " + t2.getPerimeter());System.out.println("Area for t2: " + t2.getArea());System.out.println("t2测试结束 ");} catch (IllegalTriangleException ex) {System.out.println("错误:非法三角形,存在两边之和小于第三边");System.out.println("Side1: " + ex.getSide1() + "\tSide2: " + ex.getSide2() + "\tSide3: " + ex.getSide3());}}
}class IllegalTriangleException extends Exception {private double side1, side2, side3;public IllegalTriangleException(double side1, double side2, double side3, String s) {super(s);this.side1 = side1;this.side2 = side2;this.side3 = side3;}public double getSide1() {return side1;}public double getSide2() {return side2;}public double getSide3() {return side3;}
}// 为了避免与之前题目已定义的三角形类发生命名冲突 将新的三角形类命名为TrianlgeWithException,
class TriangleWithException extends Object {double side1, side2, side3;/**Construct a triangle with the specified sides */public TriangleWithException(double side1, double side2, double side3) throws IllegalTriangleException {//Implement itthis.side1 = side1;this.side2 = side2;this.side3 = side3;if (side1 + side2 <= side3 || side1 + side3 <= side2 || side2 + side3 <= side1)throw new IllegalTriangleException(side1, side2, side3,"存在两边之和小于第三边");}public double getArea() {double s = (side1 + side2 + side3) / 2;return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));}public double getPerimeter() {return side1 + side2 + side3;}@Overridepublic String toString() {return "Triangle: side1 = " + side1 + " side2 = " + side2 + " side3 = " + side3;}
}

结果

Java作业:异常处理实验相关推荐

  1. 【Java作业】实验二 货物进销管理系统(运行成功完整代码

    实验目的 1.掌握Java中文件的读写操作. 2.学会使用Java提供的实用类(Vector, ArrayList)来完成特定的功能. 3.掌握字符串类(String, StringBuffer)的使 ...

  2. JavaFx/Java 大作业 五子棋 实验报告

    Java大作业五子棋实验报告 实验目的 通过此次实验,对这一学期学习的内容尤其是界面开发部分做了一个很好的回顾,看似简单的五子棋程序,设计好也确实费了我一点功夫 功能模块简介和系统结构图 ChessG ...

  3. 合肥工业大学宣城java实验报告,(合肥工业大学宣城校区JAVA作业问答题.doc

    (合肥工业大学宣城校区JAVA作业问答题 第一章 1.Java 语言有哪些特点? 答:Java 语言的特点有:简单性.面向对象技术.分布性.健壮性.安全性.体系结构中立.可移植性.解释执行.高性能.多 ...

  4. 第六次实训作业异常处理

    第六次实训作业异常处理 编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现: 在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时 ...

  5. java批处理 异常处理_Java批处理教程

    java批处理 异常处理 在当今世界,互联网已经改变了我们的生活方式,其主要原因之一是大部分日常琐事都使用互联网. 这导致大量数据可用于处理. 其中涉及大量数据的一些示例是处理工资单,银行对帐单,利息 ...

  6. java期末项目实验答辩毕业设计工程项目源码

    java期末项目实验答辩毕业设计工程项目源码 自己收集的各行各业的都有,这一套源码吃遍所有作业项目! 1.BBS论坛系统(jsp+sql) 2.ERP管理系统(jsp+servlet) 3.OA办公自 ...

  7. 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155303 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤一(新建文件夹): ...

  8. java2实验手册求方程的根_完成实验手册实验六:P101编程题2、3、4 Java程序设计上机实验手册(完稿)_吴娜炯.pdf_学小易找答案...

    [简答题]将一个文件的内容装换为大写,显示出来,并把内容复制到文件中去. [简答题]什么是自主访问控制?什么是强制访问控制? 什么是基于角色的访问控制? [简答题]根据第五课教学视频,实现可视化日历. ...

  9. 计算机毕业设计Java作业批改管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java作业批改管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java作业批改管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

最新文章

  1. C++类class和结构体struct区别
  2. spark-1.6.0-cdh5.15.1环境搭建:Local模式和StandAlone
  3. 如何有效控制 Go 线程数?
  4. 《零基础看得懂的C++入门教程 》——(10)面向对象
  5. 【2016年第1期】山东省农业大数据发展刍议
  6. 【pyhon】nvshens图片批量下载爬虫1.01
  7. 解决eclipse报PermGen space内存溢出异常的问题
  8. matlab r如何看曲线图,MATLAB 提取图片中的曲线数据重新画图
  9. 一、数据类型和运算符——3-数据类型
  10. Python——(Anaconda+PyCharm)Youki的Python环境配置笔记(Windows版本)(legacy)~
  11. CSS 的三个特性:层叠性、继承性、优先级
  12. hadoop 集群调度 Azkaban2搭建
  13. ISO 20088耐低温泄漏的测定_ISO20088-1/ISO20088-2/ISO20088-3
  14. HTML与CSS回顾
  15. linux下安装ffmpeg过程
  16. 计算机软件工作室起名'',半永久工作室名字大全
  17. 如何卸载Win10关键更新(右键不显示卸载)
  18. 计算机表格按性别排列,excel表格数据男女分类-Excel 按性别(男女)排序
  19. 活久见!Linux命令行居然也可以用来查看图像?
  20. LaTeX 表示断行和分页

热门文章

  1. python之abc和six
  2. 微博封禁117个百万大V账号!
  3. Android 性能优化:使用 Lint 优化代码、去除多余资源
  4. 香港影评会选出电影史上十大华语片
  5. 手机扫描计数器有哪些?实用扫描计数软件分享给你
  6. 黄花城之行-未到四海
  7. 干货:如何打造一个直播平台
  8. 云超融合数据中心 CloudFabric
  9. OSPF协议原理及配置4-邻接关系的建立和LSDB同步
  10. ArcGIS ArcMap “ Add Data” 打开后,一直卡死,无内容