JAVA上机实验报告Word文档下载推荐.docx

上传人:b****3 文档编号:14339133 上传时间:2022-10-22 格式:DOCX 页数:19 大小:67.62KB
下载 相关 举报
JAVA上机实验报告Word文档下载推荐.docx_第1页
第1页 / 共19页
JAVA上机实验报告Word文档下载推荐.docx_第2页
第2页 / 共19页
JAVA上机实验报告Word文档下载推荐.docx_第3页
第3页 / 共19页
JAVA上机实验报告Word文档下载推荐.docx_第4页
第4页 / 共19页
JAVA上机实验报告Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

JAVA上机实验报告Word文档下载推荐.docx

《JAVA上机实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《JAVA上机实验报告Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

JAVA上机实验报告Word文档下载推荐.docx

年级

2012

学号

312012*********

专业

数学

成绩

实验名称

类与对象、继承与接口

实验地点

6A418

实验类型

验证、设计

实验学时

2

实验日期

实验目的

1.掌握类的定义和使用方法。

2.掌握对象的声明和使用。

3.理解类和对象的区别,掌握构造函数的使用。

4.掌握类变量与实例变量,以及类方法与实例方法的区别。

5.理解方法中的形参和实参传递在传递基本类型和引用类型时的差异。

6.掌握包的概念和使用。

7.掌握类及其成员的访问权限控制符的使用。

8.掌握Java类的继承关系和派生方法。

9.理解继承中的变量隐藏和方法重写现象。

10.理解抽象类的概念,掌握定义抽象类的方法和应用。

11.理解多态现象。

12.掌握接口的定义和实现接口的方法。

实验环境(实验设备)

硬件:

微型计算机P4

软件:

WindowsXP+JDK+Eclipse

实验内容(包括题目和要求、源码、运行结果截图等)

一、按下面的要求编写一个JavaApplication程序。

(1)定义一个Java类Point,用来描述平面直角坐标系中点的坐标,该类应该能描述点的横、纵坐标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前位置等。

(2)定义一个测试类javaTest,创建Point类的对象并对其进行有关的操作。

程序代码:

publicclassPoint{

doublex,y;

publicPoint(doublex,doubley){

this.x=x;

this.y=y;

}

publicdoublegetX(){

returnx;

publicdoublegetY(){

returny;

publicvoidsetX(doublex){

this.x=x;

publicvoidsetY(doubley){

this.y=y;

}

publicclassjavaTest{

publicstaticvoidmain(String[]args){

Pointp=newPoint(-3,8);

x=p.getX();

y=p.getY();

System.out.println("

点("

+x+"

"

+y+"

)的横坐标为:

"

+x);

)的纵坐标为:

+y);

if(x==0&

&

y==0)

System.out.println("

)在原点"

);

elseif(x==0&

y!

=0)

)在Y轴"

elseif(x!

=0&

)在X轴"

else{

inta=1;

if(x<

0&

y>

0)

a=2;

y<

a=3;

elseif(x>

a=4;

)在第"

+a+"

象限"

运行结果:

2.二、一副牌Deck有52张扑克Card组成(不含王牌),每张牌有自己的牌型suit(用char类型)和点数rank(用String类型),补充完整下面的类的定义。

publicclassCard{

/*注1:

此处添加代码*/

publicCard(/*注2:

此处添加代码*/){

this.suit=suit;

this.rank=rank;

publicStringtoString(){

returnsuit+rank;

}

publicstaticvoidmain(String[]args){

Cardc=newCard('

红'

10"

System.out.println(c);

charsuit;

Stringrank;

publicCard(charsuit,Stringrank){

publicStringtoString(){

returnsuit+rank;

publicstaticvoidmain(String[]args){

Cardc=newCard('

System.out.println(c);

三、假定根据学生的三门学位课程的分数决定其是否可以拿到学位,对于本科生,如果三门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。

根据上述要求,请完成以下Java类的设计:

(1)设计一个基类Student描述学生的共同特征。

(2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。

(3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。

(4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。

(1)、publicclassStudent{

Stringname;

inta,b,c;

publicStudent(Stringname,inta,intb,intc){

this.name=name;

this.a=a;

this.b=b;

this.c=c;

publicStringgetName(){

returnname;

publicintgetA(){

returna;

publicintgetB(){

returnb;

publicintgetC(){

returnc;

(2)、publicclassUndergraduateextendsStudent{

publicUndergraduate(Stringname,inta,intb,intc){

super(name,a,b,c);

(3)、publicclassGraduateextendsStudent{

publicGraduate(Stringname,inta,intb,intc){

(4)、publicclassStudentDemo{

publicstaticvoidmain(Stringargs[]){

Undergraduatezhang=newUndergraduate("

张三"

56,80,78);

Stringnamez=zhang.getName();

inta=zhang.getA();

intb=zhang.getB();

intc=zhang.getC();

System.out.println(namez+"

的三门成绩分别是:

、"

+b+"

+c+"

+"

平均成绩为:

+(a+b+c)/3);

if((a+b+c)/3>

=60){

System.out.println(namez+"

可以拿到学位"

else{

不可以拿到学位"

Graduateli=newGraduate("

李四"

68,89,81);

Stringnamel=li.getName();

inti=li.getA();

intj=li.getB();

intk=li.getC();

System.out.println(namel+"

+i+"

+j+"

+k+"

+(i+j+k)/3);

if((i+j+k)/3>

=80){

System.out.println(namel+"

四、假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:

(1)经理(Manager)——每月获得一份固定的工资

(2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。

(3)一般工人(Worker)——按他每月工作的天数计算工资。

要求:

设计一个雇员类(Employee)描述所有雇员的共同特性,这个类提供一个计算工资的抽象方法computeSalary()。

经理、销售人员和一般工人对应的类都继承这个类,并重写计算工资的方法以给出它的具体实现。

abstractclassEmployee{

abstractintcomputeSalary(intx,inty);

publicclassManagerextendsEmployee{

intcomputeSalary(intx,inty){

}publicclassSalesman{

returnx+10*y;

publicclassWorker{

returnx*y;

publicclassGongzi{

Managerzhang=newManager();

Salesmanli=newSalesman();

Workerwang=newWorker();

puteSalary(4000,0);

puteSalary(3000,20);

puteSalary(100,25);

经理zhang的工资为:

+puteSalary(4000,0));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1