实验03 实用类和异常类

发布时间 : 星期三 文章实验03 实用类和异常类更新完毕开始阅读

实验3 实用类和异常类

1.实验目的

(1)掌握异常类的用法

(2)掌握Java中String类常用方法、StringBuilder类的用法; (3)掌握Date类、Calender类、DateFormat类的用法; (4)掌握Java中正则表达式的基本用法

2.实验要求

在Eclipse下创建Practice2项目,对未有包名要求的题目统一按照实验题名建包,然后将本题源代码放在同一包下。对有包名要求的题目按照要求建包。作业提交时将Practice2项目下src文件包命名为Practice2.src压缩后提交。

3.实验题目

Exer1: 创建KeyWord类,设置两个String型成员变量input,keyword,并设计keywordSearch()实现keyword字符串在input字符串中出现信息的统计。要求如下

(1) 统计结果返回类型为String,格式要求 出现总次数:索引位置(依次列出,

如果出现多处,中间用空格分隔)。

(2) KeywordSearch()方法在处理返回结果时的中间变量分别用String和

StringBuffer型实现,思考这两种处理方式的区别?

测试数据: 执行的测试 期望的结果 2: 2 5 keywordSearch(“this is a test”, “is”) 4: 0 6 18 24 keywordSearch(“able was I ere I sawelba”, “a”) 0: keywordSearch(“this is a test”, “tasta”) Exer2: 编写程序剔除一个字符串中的全部非[.]和数字之外的字符,然后计算所有字符串数字的和。测试数据“hello13.45你,好8789与(0.57sum”。

Exer3: 修改实验二Exer7,在Product类中添加销售日期属性及销售额属性,在sell方法中对其初始化,比较Date类与Calender类的用法,最后使用SimpleDateFormat类对销售日期进行格式化;用类DecimalFormat的相关方法格式化属性sales,熟悉DecimalFormat的用法。运行结果如下图3-1所示。

图3-1

Exer 4: 以下代码在执行时将出现异常,请用try-catch异常处理机制对其进行改写。

public class ExceptionDemo{

public static void main(String[] args){

String s=null;

int i,sum=0,a=5,b=0; int a[]={1,2,3,4,5}; int len=s.length(); for(i=0,i<=5,i++){ sum=sum+a[i]; }

System.out.println(“a/b=”+a/b); } }

Exer 5: 编写一个程序,输入一个班某门课程成绩,统计及格人数、不及格人数平均分。设计一个异常类,当输入的成绩小0分或大于100分时,抛出异常,程序将捕捉这个异常,并作出相应处理。

Exer 6: 创建异常类的练习。需要使用3个Java程序来实现: Bank.java

InsufficientFundsException.java ExceptionDemo.java

(1) 创建银行类Bank,包括如下的方法:

Bank(double balance)

deposite(double dAmount) withdrawal(double dAmount) show_balance()

(2) 创建异常类:InsufficientFundsException。若取钱数大于余额则作为异常处理。创建此异常类的思路是:(1)产生异常的条件是余额少于取额, 因此是否抛出异常要判断条件(注意throw的使用)。(2)取钱是withdrawal()方法中定义的动作,因此在该方法中产生异常。(3)处理异常安排在调用withdrawal()的时候,因此withdrawal()方法要声明异常,由上级方法调用(注意throws的使用)。创建此异常类的具体要求:异常类中需添加 exceMessage()方法,用于调用Bank类的show_balance()方法,显示“您的取款金额为XXX,但是账户余额仅为XXX,操作不合法!”。

(3) 创建主类: ExceptionDemo,用于测试新创建的两个类。 注意try-catch语句的使用, 并且在错误处理的catch块中,使用InsufficientFundsException异常类的excepMesagge()方法以及Exception类(父类)的toString()方法。最后添加finally块,输出“操作退出!”。

联系合同范文客服:xxxxx#qq.com(#替换为@)