Java作业:异常处理实验
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作业:异常处理实验相关推荐
- 【Java作业】实验二 货物进销管理系统(运行成功完整代码
实验目的 1.掌握Java中文件的读写操作. 2.学会使用Java提供的实用类(Vector, ArrayList)来完成特定的功能. 3.掌握字符串类(String, StringBuffer)的使 ...
- JavaFx/Java 大作业 五子棋 实验报告
Java大作业五子棋实验报告 实验目的 通过此次实验,对这一学期学习的内容尤其是界面开发部分做了一个很好的回顾,看似简单的五子棋程序,设计好也确实费了我一点功夫 功能模块简介和系统结构图 ChessG ...
- 合肥工业大学宣城java实验报告,(合肥工业大学宣城校区JAVA作业问答题.doc
(合肥工业大学宣城校区JAVA作业问答题 第一章 1.Java 语言有哪些特点? 答:Java 语言的特点有:简单性.面向对象技术.分布性.健壮性.安全性.体系结构中立.可移植性.解释执行.高性能.多 ...
- 第六次实训作业异常处理
第六次实训作业异常处理 编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现: 在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时 ...
- java批处理 异常处理_Java批处理教程
java批处理 异常处理 在当今世界,互联网已经改变了我们的生活方式,其主要原因之一是大部分日常琐事都使用互联网. 这导致大量数据可用于处理. 其中涉及大量数据的一些示例是处理工资单,银行对帐单,利息 ...
- java期末项目实验答辩毕业设计工程项目源码
java期末项目实验答辩毕业设计工程项目源码 自己收集的各行各业的都有,这一套源码吃遍所有作业项目! 1.BBS论坛系统(jsp+sql) 2.ERP管理系统(jsp+servlet) 3.OA办公自 ...
- 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
20155303 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤一(新建文件夹): ...
- java2实验手册求方程的根_完成实验手册实验六:P101编程题2、3、4 Java程序设计上机实验手册(完稿)_吴娜炯.pdf_学小易找答案...
[简答题]将一个文件的内容装换为大写,显示出来,并把内容复制到文件中去. [简答题]什么是自主访问控制?什么是强制访问控制? 什么是基于角色的访问控制? [简答题]根据第五课教学视频,实现可视化日历. ...
- 计算机毕业设计Java作业批改管理系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java作业批改管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java作业批改管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...
最新文章
- C++类class和结构体struct区别
- spark-1.6.0-cdh5.15.1环境搭建:Local模式和StandAlone
- 如何有效控制 Go 线程数?
- 《零基础看得懂的C++入门教程 》——(10)面向对象
- 【2016年第1期】山东省农业大数据发展刍议
- 【pyhon】nvshens图片批量下载爬虫1.01
- 解决eclipse报PermGen space内存溢出异常的问题
- matlab r如何看曲线图,MATLAB 提取图片中的曲线数据重新画图
- 一、数据类型和运算符——3-数据类型
- Python——(Anaconda+PyCharm)Youki的Python环境配置笔记(Windows版本)(legacy)~
- CSS 的三个特性:层叠性、继承性、优先级
- hadoop 集群调度 Azkaban2搭建
- ISO 20088耐低温泄漏的测定_ISO20088-1/ISO20088-2/ISO20088-3
- HTML与CSS回顾
- linux下安装ffmpeg过程
- 计算机软件工作室起名'',半永久工作室名字大全
- 如何卸载Win10关键更新(右键不显示卸载)
- 计算机表格按性别排列,excel表格数据男女分类-Excel 按性别(男女)排序
- 活久见!Linux命令行居然也可以用来查看图像?
- LaTeX 表示断行和分页