包与接口以及常用工具类的使用

1.自定义包的声明方式

        <package>  <自定义包名>

    声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包。

2     

在存放源程序的文件夹中建立一个子文件夹 Mypackage。例如,在“D:\java\javacode”文件夹之中创建一个与包同名的子文件夹 MypackageD:\java\javacode\Mypackage),并将编译过的 class 文件放入到该文件夹中。 注意:包名与文件夹名大小写要一致。

3.在包中创建类

1) 编写程序KY6_1.java,在源程序中,首先声明使用的包名 Mypackage,然后创建KY6_1类,该类具有计算今年的年份,可以输出一个带有年月日的字符串的功能。

2) 源代码如下。

    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 (int y,int m,int d) {

            year = y;

            month = (((m>=1) & (m<=12)) ? m : 1);  

            day = (((d>=1) & (d<=31)) ? d : 1);

        }      

        public static int thisyear() {

             return Calendar.getInstance().get(Calendar.YEAR);//返回当年的年份

        }

        public int year() {

            return year;//返回年份

        }

        public String toString(){

                return year+"-"+month+"-"+day;//返回转化为字符串的年-月-日

        }

  }

3) 编译KY6_1.java 文件,然后将KY6_1.class 文件存放到 Mypackage 文件夹中(D:\java\javacode\Mypackage)。 注意:先不运行程序KY6_1.class

   4.编写一个需要使用到包 Mypackage 中的KY6_1 类的程序KY6_2.java

1) 编写 KY6_2.java 程序:给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生日期。程序使用了KY6_1 的方法来计算年龄。

2) 源代码如下。

  import Mypackage.KY6_1; //引用 Mypackage 包中的KY6_1 类

  public class KY6_2  

  {

        private String name;

        private KY6_1 birth;

  public static void main(String args[])

        {

            KY6_2 a = new KY6_2("张驰",1990,1,11);

            a.output();

        }

        public KY6_2 (String n1, int y, int m, int d)

        {   //初始化变量与对象

name = n1;

            birth = new KY6_1(y, m, d);

        }

        public int age()                                   //计算年龄

        {

            return birth.year() - KY6_1.thisyear(); //返回当前年与出生年的差即年龄

        }

        public void output()

        {

            System.out.println("姓名 : "+name);

            System.out.println("出生日期: "+birth.toString());

            System.out.println("今年年龄 : "+age());

        }

    }

3) 编译KY6_2.java 程序并运行程序KY6_2.java

4) 在实验报告中写出该程序的运行结果。

 

5) 程序运行的结果有没有问题?问题出在哪里?请在实验报告中指出。

    有问题,计算结果不符合实际

     

 (二)使用接口技术

定义两个接口,其中各包括一个抽象分别用来完成两个数的加法和减法操作,然后创建一个类KY6_3来实现这两个接口抽象方法。编写程序KY6_3.java,将源程序写在实验报告中。

源代码:interface M1{

int add(int x,int y);

}

interface M2{

int subtract(int x,int y);

}

public class KY6_3 implements M1,M2{

public int add(int x,int y){

return x+y;

}

public int subtract(int x,int y){

return x-y;

}

public static void main(String[] args) {

KY6_3 ky=new KY6_3();

System.out.println("x+y="+ky.add(11,22));

System.out.println("x-y="+ky.subtract(23,11));

}

}

结果截图:

 

 

  (三)Math类的使用 

1.利用下面的关键代码编写一个完整的程序KY6_4.java,理解Math类的使用。
 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());        


 2将程序的运行结果写在实验报告中。

源代码:

import java.lang.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);// 输出e的值        

        System.out.println ("π is:"+Math.PI);//输出π的值       

        System.out.println(Math.random());//       

}

}

 

结果截图:

 

  (四)String类与StringBuffer类的使用

1.利用下面的关键代码编写一个完整的程序KY6_5.java,理解String与StringBuffer类的使用。
        String s=new String("This is an demo of the String method.");
        System.out.println("Length: "+s.length());
        System.out.println("SubString: "+s.substring(11,15));
      StringBuffer sf=new StringBuffer("Hello World!");
        sf.append(" Hello Java!");
        sf.insert(12," And");
        System.out.println(sf);
        System.out.println(sf.charAt(0));
        sf.setCharAt(0,''h'');
        System.out.println(sf.charAt(0));
        System.out.println(sf);


 2将程序的运行结果写在实验报告中。

源代码:

public class KY6_5 {

public static void main(String[] args) {

String s=new  String("This is an demo of the String method.");

System.out.println("Length:"+s.length());

System.out.println("SubString:"+s.substring(11,15));

StringBuffer sf=new StringBuffer("Hello World!");

sf.append("Hello Java!");

sf.insert(12," And ");

System.out.println(sf);

System.out.println(sf.charAt(0));

sf.setCharAt(0, 'h');

System.out.println(sf.charAt(0));

System.out.println(sf);

}

}

 

结果截图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值