实验目的:
1. 理解包装类的定义和常用防范
2. 掌握接口的概念和定义

3. 掌握接口的实现
实验内容:

1. 包装类学习
1) 编写加减乘除四则运算
2) main函数接收一个字符串表达式,作为args[0]的值,例如2+3
3) 编写一个函数,判断args[0]中 +-/ 符号,(提示charAt函数)在符号前后添加一个空格,返回一个字符串,比如2 + 3 ,该字符串假如是s
4) 在main函数中,通过String[] tokens = s.split(\" \");将s字符串按空格分割为3个字符串数组,保存找tokens数组中,例如tokens[0]里是字符串2,tokens[1]里是字符串+,tokens[2]里是字符串3,用switch实现四则运算,结果显示参见下面:
2. 实现接口的学习
1) 设计一个Circle类,包括私有double数据成员radius,带参数构造函数,求面积的方法(返回圆的面积),重写的toString函数(返回园的半径和面积的字符串,面积保留2位小数),提示:可用String.format方法
String.format(\"半径=\"+radius+\",园的面积=%.2f\",getArea());
2) Circle类中实现Comparable接口,重写接口的CompareTo方法,该方法实现判断面积,大于返回1,小于返回-1,相等返回0。
3) 设计一个Max类,包含一个静态方法,该方法接收2个Circle对象,在该方法内调用CompareTo方法对2个对象进行比较,并将面积大的对象返回。
4) 编写测试程序,创建2个Circle对象,调用Max的静态方法得到面积大的对象,调用toString函数分别显示2个对象,并显示面积大的对象的面积。 再创建包含3个Circle的对象数组,调用Arrays.sort 实现把这三个圆按面积排序后的结果。显示结果参考下图
3. 自定义接口学习
1) 设计一个Shape抽象类,包括求面积的抽象方法,返回double类型
2) 设计一个名为Colorable的接口,其中有名为howToColor()的方法,返回void
3) 设计一个Circle类继承自Shape抽象类,包括私有double数据成员radius,带参数构造函数,重写求面积方法,返回园的面积,重写toString函数,返回字符串Circle。
4) 设计一个Rectangle类继承自Shape抽象类,实现Colorable接口,包括私有double数据成员宽和高,带参数构造函数,重写求面积方法,返回矩形的面积,重写toString函数,返回字符串Rectangle。重写Colorable接口的howToColor()方法,该方法显示\"Color all four sides\"
5) 编写测试程序,创建一个Shape数组变量,该数组成员包含若干圆和矩形对象,用循环语句分别显示各个成员的面积和howToColor,注意只有矩形实现howToColor接口,所以在调用该函数前,先要用instanceof判断变量是否是矩形的实例,然后在将数组元素强制转换为接口对象,再调用howToColor函数,参考输出结果如下图
作业提交:
网络教学平台,把IDEA项目包打包到一起上传,打包文件名\"学号+姓名\",学号在前,姓名在后