了解 Java 中包(package)和接口(interface)的作用,掌握包和接口的设计方法。掌握Math类,String类和StringBuffer类的使用。
二、实验环境:
Windows7平台下的eclipse。
三、实验内容:
(一) 创建并使用自定义包
源代码如下:
package Mypackage; //声明存放类的包
import java.util.*; //引用 java.util 包
public class KY6_1 {
private int year,month,day;
public static void main(String[] args){}
public KY6_1 (inty,int m,int d) {
year = y;
month = (((m>=1) & (m<=12)) ? m : 1);
day = (((d>=1) & (d<=31)) ? d : 1);
}
public static int thisyear() {
returnCalendar.getInstance().get(Calendar.YEAR);//返回当年的年份
}
public int year() {
return year;//返回年份
}
public String toString(){
returnyear+"-"+month+"-"+day;//返回转化为字符串的年-月-日
}
}
编写 KY6_2.java 程序:
import Mypackage.KY6_1; //引用 Mypackage 包中的KY6_1 类
public classKY6_2
{
privateString name;
privateKY6_1 birth;
public static void main(Stringargs[])
{
KY6_2 a = new KY6_2("张驰",1990,1,11);
a.output();
}
publicKY6_2 (String n1, int y, int m, int d)
{ //初始化变量与对象
name= n1;
birth = new KY6_1(y, m, d);
}
publicint age() //计算年龄
{
return birth.year() - KY6_1.thisyear(); //返回当前年与出生年的差即年龄
}
publicvoid output()
{
System.out.println("姓名 :"+name);
System.out.println("出生日期:"+birth.toString());
System.out.println("今年年龄 :"+age());
}
}
(3)运行上面的代码结果是:
(5)
有问题。returnbirth.year() - KY6_1.thisyear(); 这条语句中的减数和被减数相反了。
(二) 使用接口技术
接口:
public interfacejiafa {
double add(double a,double b);
}
public interfacejianfa {
double jianfa(double a,double b);
}
主函数:
public classKY6_3 implements jiafa,jianfa{
public double jianfa(doublea, double b) {
return a-b;
}
public double add(doublea, double b) {
return a+b;
}
public staticvoid main(String args[]) {
KY6_3 a =new KY6_3();
System.out.println("加法的结果是:"+a.add(50, 60));
System.out.println("减法的结果是:"+a.jianfa(80, 20));
}
}
代码运行的结果是:
(三) Math类的使用
源代码如下:
public class KY6_4 {
public static void main(String args[]) {
System.out.println (Math.abs (-5.8));
System.out.println (Math.ceil (3.2));
System.out.println (Math.floor (3.8));
System.out.println (Math.round (3.8));
System.out.println (Math.round (3.2));
System.out.println (Math.min (3, 2));
System.out.println (Math.max (Math.PI, 4));
System.out.println (Math.log (7.0));
System.out.println (Math.pow (7,2));
System.out.println (Math.exp (0.4));
System.out.println ("e is:"+ Math.E);
System.out.println ("π is:"+Math.PI);
System.out.println(Math.random());
}
}
程序执行的结果: