当前位置: 首页>编程语言>正文

java实现接口课后作业 java接口实验

一、实验目的:

 

了解 Java 中包(package)和接口(interface)的作用,掌握包和接口的设计方法。掌握Math类,String类和StringBuffer类的使用。 

 

二、实验环境:

  一台配置有java环境,装有eclipse的电脑。

三、实验内容:

(写出主要的内容)

(一)

1. 了解 Java 系统包的结构,创建并使用自定义包。

2. 掌握接口的定义与使用。

3. 掌握Math类的使用。

4. 掌握String类和StringBuffer类的使用

)创建并使用自定义包

1.自定义包的声明方式

自定义包名>

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

2.创建自定义包 Mypackage

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

3.在包中创建类

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

2) 源代码如下。

声明存放类的包

引用 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() {

返回当年的年份

} 
        public int year() {

返回年份

 

} 
        public String toString(){

返回转化为字符串的年-月-日

      

} 
   }

 

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

 

java实现接口课后作业 java接口实验,java实现接口课后作业 java接口实验_java,第1张

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

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

2) 源代码如下。

引用 Mypackage 包中的KY6_1 类

public class KY6_2  
  { 
        private String name; 
        private KY6_1 birth; 
   public static void main(String args[]) 
        { 
张驰",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 void output() 
        { 
姓名 : "+name); 
出生日期: "+birth.toString()); 
今年年龄 : "+age()); 
        } 
    }

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

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

 

java实现接口课后作业 java接口实验,java实现接口课后作业 java接口实验_java实现接口课后作业_02,第2张

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

答:有问题。问题出在今年年龄是个负数。应该改为:

源代码为:

import Mypackage.KY6_1; //引用 Mypackage 包中的KY6_1 类
  public class KY6_2  
  { 
        private String name; 
        private KY6_1 birth; 
   public static void main(String args[]) 
        { 
张驰",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 void output() 
        { 
姓名 : "+name); 
出生日期: "+birth.toString()); 
今年年龄 : "+age()); 
        } 
}

 

java实现接口课后作业 java接口实验,java实现接口课后作业 java接口实验_java实现接口课后作业_03,第3张

  (三)使用接口技术

定义两个接口,其中各包括一个抽象方法分别用来完成两个数的加法和减法操作,然后创建一个类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));
 }
}

结果截图:

 

java实现接口课后作业 java接口实验,java实现接口课后作业 java接口实验_java_04,第4张

 

类的使用

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.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.log (7.0));//        
 System.out.println (Math.pow (7,2));//               
 System.out.println (Math.exp (0.4));//

         

输出e的值        

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

 

结果截图:

java实现接口课后作业 java接口实验,java实现接口课后作业 java接口实验_Math_05,第5张

 

类与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);
 }
}

 

结果截图:

 

java实现接口课后作业 java接口实验,java实现接口课后作业 java接口实验_java_06,第6张

  (六)思考题

1. 算术运算应该使用什么类?

答:java.lang.Math类

2. Java语言中如何表示字符串?

答:直接使用String类,在给它定义对象的时候就把字符串内容给写出来。如:

String s=new  String("This is an demo of the String method.")    这是长度不可变的
StringBuffer sf=new StringBuffer("Hello World!");
 sf.append("Hello Java!");

这是可以加上其他的字符串的


https://www.xamrdz.com/lan/5bj1941983.html

相关文章: