Java实验报告

时间:2024.4.30

姓名                         实验报告成绩          

评语

                         指导教师(签名)              

                                                 


一、实验目的

1.      掌握接口的概念,实现定义接口的方法。

2.      理解抽象类的概念。

3.      理解接口与抽象类的区别。

二、实验内容

1.      设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。

编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。

publicclass Main {

    publicstaticvoid main(String args[]){

        Student A = new Student("    ","男","18","1243102140","计算班",100);

        A.display();

    }

}

class Person{

    String name;

    String gender;

    String age;

}

class Student extends Person{

    String id;

    String cname;

    intscore;

    Student(String name,String gender,String age,String id,String cname,int score){

        this.name=name;

        this.gender=gender;

        this.age=age;

        this.id=id;

        this.cname=cname;

        this.score=score;

    }

    void display(){

        System.out.println(name+' '+gender+' '+age+' '+id+' '+cname+' '+score);

    }

}

2.      定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。

   编写测试程序,创建B的对象,输出英文字母和中文字符串。

publicclass Main {

    publicstaticvoid main(String args[]){

    B temp = new B();

    temp.f('A');

    temp.g("你好");

    }

}

class A{

    void f(char c){

        System.out.println(c);

    }

}

class B extends A{

    void g(String str){

        System.out.println(str);

    }

}

3.      定义一个坐标类Pointer,成员变量包括x和y;成员方法有:

   (1)构造方法

(2)setX、setY、getX、getY、display方法

(3)类方法distance用来计算两点之间的距离

编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

publicclass Main {

    publicstaticvoid main(String args[]){

        Pointer p1 = new Pointer(1.0,1.0);

        Pointer p2 = new Pointer(0.0,0.0);

        System.out.println(p1.distance(p2));

    }

}

class Pointer{

    double x,y;

    Pointer(double x,double y){

        this.x=x;

        this.y=y;  

    }

    void setX(double x){

        this.x=x;

    }

    void setY(double y){

        this.y=y;

    }

    double getX(){

        return x;

    }

    double getY(){

        return y;

    }

    double distance(Pointer b){

        return Math.sqrt((x-b.x)*(x-b.x)+(y-b.y)*(y-b.y));

    }

}

4.  定义一个抽象类Area、两个Area的子类RectArea和RoundArea,以及一个实现类ImpleArea。要求如下

  (1)抽象类Area类中只包含一个抽象方法double area()。

  (2)子类RoundArea类通过覆盖父类中的抽象方法area()来求圆的面积,另一个子类RectArea类通过覆盖父类中的抽象方法area()求长方形的面积。

  (3)圆的半径和长方形的边分别定义为子类RoundArea类和RectArea类的域,都为double娄型。

  (4)ImpleArea类中创建对象,接收键盘输入,输入内容分别为圆的半径和长方形的边,并求出圆和长方形的面积,在屏幕上显示。

import java.util.Scanner;

publicclass Main {

    publicstaticvoid main(String args[]){

        ImpleArea.test();

    }

}

abstractclass Area{

     abstractdouble area();

}

class RoundArea extends Area{

    double r;

    RoundArea(double r){

        this.r=r;

    }

    publicdouble area(){

        return 3.14*r*r;

    }

}

class RectArea extends Area{

    double a,b;

    RectArea(double a,double b){

        this.a=a;

        this.b=b;

    }

    publicdouble area(){

        return a*b;

    }

}

class ImpleArea{

    staticdoublea,b;

    staticvoid test(){

        Scanner sc = new Scanner(System.in);

        System.out.println("请输入半径:");

        RoundArea A = new RoundArea(sc.nextDouble());

        System.out.println("请输入宽:");

        a=sc.nextDouble();

        System.out.println("请输入高:");

        b=sc.nextDouble();

        RectArea B = newRectArea(a,b);

        sc.close();

        System.out.println(A.area());

        System.out.println(B.area());

    }

}

5. 编写一个Flyable接口,包含:

方法:double flySpeed(),用于返回最大的飞行速度。并实现该接口.

publicclass Main {

    publicstaticvoid main(String args[]){

        A fly = new A();

        System.out.println(fly.flyspeed());

    }

}

interface Flyable{

     publicdouble flyspeed();

}

class A implements Flyable{

       publicdouble flyspeed(){

         double speed = 0;

         /*

          * 计算过程

          */

         return speed;

        }

}


第二篇:JAVA实验报告3


数学与计算机学院

实 验 报 告

(2011/ 20## 学年 第 1 学期)




更多相关推荐:
java 实验报告 全

河南省高等教育自学考试实验报告册计算机及应用专业(本科段)《JAVA》姓名所属地市实验地点实验日期实验总成绩指导教师签名实验单位(实验室)意见:主考院校审核意见:河南科技大学自学考试办公室二零一零年x月实验一j…

五子棋Java实验报告

五子棋JAVA实验报告一实验目的和要求1能够用编程语言实现一个简单的五子棋程序2在实际系统中使用实现人工智能的相关算法3进一步加深对人工智能算法的理解二五子棋的基本常识与原理1五子棋的起源五子棋是一种两人对弈的...

java实验报告实验六Java图形用户界面

信息工程学院Java程序设计实习报告JAVA图形用户界面实验六Java图形用户界面1实验目的1掌握图形用户界面基本组件2了解如何使用布局管理器对组件进行管理3掌握Java事件处理机制2实验内容实验题1编写一个模...

java上机实验心得体会报告

北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目:JAVA上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间:20xx年x月x日版本:1.0.0指导教师:北京联合大学-信息学院编制实验…

Java实验报告

Java语言程序设计实验报告实验序号3一实验目的及要求1进一步熟练Java语法和常用方法的使用2进一步熟练Java程序结构3进一步提高算法设计与实现的能力4为后续章节的学习打下坚实的基础二实验设备环境实验室计算...

Java实验报告

JAVA课程标准实验报告学号1040501211姓名陈嘉生江苏科技大学计算机科学与工程学院基础部1实验一流程控制语句一实验目的1234二实验内容1安装开发环境JDK2编写一个JAVA应用程序在输出窗口显示quo...

java实验报告书3

浙江理工大学Java程序设计实验报告20xx20xx学年第二学期学院班级姓名学号任课教师信息学院11数字媒体技术2周咪咪20xx329700214宋瑾钰上课时间周二三四节数字媒体技术专业20xx年5月12345...

Java实验报告

Java简易聊天室实验目的实现简单的客服端与服务端通讯进一步巩固加深对Java语言基础知识的了解将理论与实际相结合实验要求能相互之间发送消息并进行简单的异常处理聊天室截图与说明客户端服务端将客服端与服务端程序同...

java实验报告3

java面对对象程序设计实验报告书实验名称任课老师学号姓名java继承与接口20xx210922吴晗算法分析与设计实验报告1一实验目的和要求掌握对一个接口的不同实现的机制二实验内容1编写一个Java应用程序除了...

java 实验报告

实验报告模板Java课程实验报告实验程序如下实验任务一publicclasssumpublicstaticvoidmainStringargsintanewint44ints0intmaxa00forinti0...

Java课程设计实验报告

河南机电高等专科学校学生课程设计报告实验课程名称Java程序设计开课实验室实验楼308机房系、部计科系年级11专业班软件技术学生姓名学号开课时间20##至20##学年第一学期《Java程序设计》课程设计报告20…

Java课程设计实验报告

Java课程设计报告课目计算器学院基础学院班级光信息20xx1学生指导教师丁振凡张晓瑞辅导教师江宇完成时间20xx年7月1日课程设计论文任务书基础学院光信息专业20xx1班一课程设计论文题目计算器二课程设计论文...

java实验报告(30篇)