实验2 类的创建与使用
班级:
1603
姓名:
李泳东
学号:
161010118
实验时间:
第2-4周
上交时间:
第5周星期二
授课教师:
梁新健
课程名称:
面向对象程序设计
教师评语:
成绩:
评阅教师:
梁新健
一、实验目的
1.掌握类的创建方法、对象的创建方法及类成员方法的调用方法。
2.掌握类与子类的创建与使用方法。
二、实验内容
在D:\A文件夹下创建一个名为Exp2的项目,在该项目下完成下列各题,要求不同题放在不同的包中,然后在主类的主方法中完成调用。
1.在该项目中新建一个java类:Box类,包括private成员变量length、width、heigth,public成员方法:setter、getter方法、带参与不带参构造方法、返回体格积的方法。在主类的main方法中创建该类的对象,并输出其体积。
2.创建一个圆类Circle,圆包括圆心坐标和在半径,成员方法包括setter、getter方法、带参与不带参构造方法、返回圆面积的方法,在主类的主方法中创建该类对象,并输出调用相关方法输出圆的面积.
3.创建一个学生类,数据成员包括学号、姓名、及三科成绩,成员方法包括setter、getter方法、带参与不带参构造方法、判断并输出能否得奖学金的方法,在主类中创建学生对象并初始化,调用类中的方法根据成绩判断并输出该学生是否可能得奖学金(设若有不及格科目,则不能得奖学金)
4.利用Random类创建随机数发生器模拟掷骰子游戏(教材例3-9)。
5.几何图元类层次的设计(教材例4-1)
父类:几何图元类Shape
成员变量:颜、点
成员方法:不带参构造方法与带参构造方法、返回颜与点信息
颜类Color与点类Point使用系统的类
子类1:矩形类Rectangle(父类为几何图元类)
成员变量:矩形的长与宽
成员方法:不带参构造方法与带参构造方法、求矩形的面积与周长、返回矩形的长与宽的字符串
子类2:正方形类Square(父类为矩形类)
成员方法:不带参构造方法与带参构造方法、获取正方形的边长、设置正方形的边长
在主方法中分别定义矩形类与正方形类的对象并初始化,输入矩形的长与宽,输出正方形的边长。
思考题:若颜类和点类均使用系统定义,应如何操作?
6. 新建一个复数类Complex,重载equals方法和toString方法,在主方法中创建两个复数类对象,并比较其是否相等。(教材例4-2)
7. 试设计一个记录某门课程的所有同学的考试成绩的成绩单类ScoreReport
其中应包含课程的编码、课程名称、考试日期、教师姓名以及每个学生的学号、姓名、成绩等信息,还应该包含与这相关的所有行为方法
在main方法初始化课程信息,并创建一个ScoreReport类对象,输出相关的课程信息和学生信息。
三、操作提示
将各题放在不同的包中,每个包中创建一个主类(含有主方法的类),每个类先定义数据成员
、添加构成方法(不带参与带参的构造方法)、setter,getter方法,然后再添加其它方法。
四、源程序及运行结果
代码:
1.Box类
2.public class Box {
3.
4.    private int length;
5.    private int width;
6.    private int height;
7.   
8.    public void setLength(int lengthValue){length=lengthValue;}
9.    public void setWidgth(int widthValue){width=widthValue;}
10.    public void setHeight(int heightValue){height=heightValue;}
11.    public void setBox(int lengthValue,int widthValue,int heightValue)//set赋值,也是带参赋值
12.    {
13.        length=lengthValue;
14.        width=widthValue;
15.        height=heightValue;
16.    }
17.   
18.    public int getLength(){return length;}
19.    public int getWidth(){return width;}
20.    public int getHeight(){return height;}
21.   
22.    public void setBox()//不带参构造赋值
23.    {
24.        length=0;
25.        width=0;
26.        height=0;
27.    }
28.   
29.    public int volume(){
30.        int Volume=length*width*height;
31.        return Volume;
32.    }   
33.}
Main
import java.util.Scannernextint()方法;
public class SetBox {
    public static void main(String[]args)
    {
        Scanner in = new Scanner(System.in);
        Box e=new Box();
        e.setBox();//无参构造
        System.out.println("分别输入length width height值");
        e.setBox(in.nextInt(), in.nextInt(), in.nextInt());//带参构造
        System.out.println("Length为"+e.getLength());
        System.out.println("Width为"+e.getWidth());
        System.out.println("Heigh为"+e.getHeight());
        System.out.println("所创建的BOX体积为:"+e.volume());
    }
}
2
Circle类
public class Circle {
    private double x;//圆心横坐标
    private double y;//圆心纵坐标
    private double r;//圆半径
   
    public void setX(double x) {this.x = x;}
    public void setY(double y) {this.y = y;}
    public void setR(double r) {this.r = r;}
   
    public double getX() {return x;}
    public double getY() {return y;}
    public double getR() {return r;}
 
    public void SetCircle(double x, double y, double r) {
        this.x = x;
        this.y = y;
        this.r = r;
}
public Circle() {
    x=0;y=0;r=0;
    }
    public double getArea(){
        return Math.PI*r*r;
    }
}
Main
public class SetCircle {
    public static void main(String[] args){
        Circle circle=new Circle();
        circle.SetCircle(0, 0, 10);
        System.out.printf("圆的面积:%.3f",circle.getArea());
    }
}
3.
Student类
public class Student {
    private int num;//学号
    private String name;//姓名
    private double[] score;
    public Student(int num, String name, double[] score) {
        this.num = num;
        this.name = name;
        this.score = score;
    }
    public void setNum(int num) {this.num = num;} 
    public void setName(String name) {this.name = name;}
    public void setScore(double[] score) {this.score = score;}
    public int getNum() {return num;}
    public String getName() {return name;}
    public double[] getScore() {return score;}
   
    public Student() {
    }
   
    public void Scholarship(){
        int sum=0;
        for(int i=0;i<score.length;i++)
            if(score[i]<60) ++sum;
        if(sum==0) System.out.print(num+"号学生"+name+"可以获得奖学金。");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。