实验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小时内删除。
发表评论