实验4 面向对象基础Word下载.docx

上传人:b****2 文档编号:3730201 上传时间:2023-05-02 格式:DOCX 页数:27 大小:123.44KB
下载 相关 举报
实验4 面向对象基础Word下载.docx_第1页
第1页 / 共27页
实验4 面向对象基础Word下载.docx_第2页
第2页 / 共27页
实验4 面向对象基础Word下载.docx_第3页
第3页 / 共27页
实验4 面向对象基础Word下载.docx_第4页
第4页 / 共27页
实验4 面向对象基础Word下载.docx_第5页
第5页 / 共27页
实验4 面向对象基础Word下载.docx_第6页
第6页 / 共27页
实验4 面向对象基础Word下载.docx_第7页
第7页 / 共27页
实验4 面向对象基础Word下载.docx_第8页
第8页 / 共27页
实验4 面向对象基础Word下载.docx_第9页
第9页 / 共27页
实验4 面向对象基础Word下载.docx_第10页
第10页 / 共27页
实验4 面向对象基础Word下载.docx_第11页
第11页 / 共27页
实验4 面向对象基础Word下载.docx_第12页
第12页 / 共27页
实验4 面向对象基础Word下载.docx_第13页
第13页 / 共27页
实验4 面向对象基础Word下载.docx_第14页
第14页 / 共27页
实验4 面向对象基础Word下载.docx_第15页
第15页 / 共27页
实验4 面向对象基础Word下载.docx_第16页
第16页 / 共27页
实验4 面向对象基础Word下载.docx_第17页
第17页 / 共27页
实验4 面向对象基础Word下载.docx_第18页
第18页 / 共27页
实验4 面向对象基础Word下载.docx_第19页
第19页 / 共27页
实验4 面向对象基础Word下载.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验4 面向对象基础Word下载.docx

《实验4 面向对象基础Word下载.docx》由会员分享,可在线阅读,更多相关《实验4 面向对象基础Word下载.docx(27页珍藏版)》请在冰点文库上搜索。

实验4 面向对象基础Word下载.docx

89.23333333333335

最高分:

91.4

最低分:

87.3

学生信息:

|-学号:

100

|-姓名:

John

|-年龄:

20

|-英语:

89.0

|-计算机:

|-数学:

程序代码:

packageunit4;

publicclasstestStudent{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

Studentstu=newStudent("

John"

"

100"

20,87.3,89,91.4);

System.out.println(stu.toString());

}

}

classStudent{

privateStringname;

privateStringid;

privateintage;

//姓名、学号、年龄

privatedoublecomputerGrade;

privatedoublemathGrade;

privatedoubleenglishGrade;

//计算机成绩、数学成绩、英语成绩

publicStudent(Stringname,Stringid,intage,doublecomputerGrade,

doublemathGrade,doubleenglishGrade){

this.name=name;

this.id=id;

this.age=age;

puterGrade=computerGrade;

this.mathGrade=mathGrade;

this.englishGrade=englishGrade;

voidsetId(Stringid){

publicStringgetId(){

returnid;

voidsetName(Stringname){

publicStringgetName(){

returnname;

voidsetAge(intage){

publicintgetAge(){

returnage;

voidsetEnglish(doubleenglishGrade){

publicdoublegetEnglish(){

returnenglishGrade;

voidsetComputer(doublecomputerGrade){

publicdoublegetComputer(){

returncomputerGrade;

voidsetMath(doublemathGrade){

publicdoublegetMath(){

returnmathGrade;

publicdoublegetSum(){

returngetComputer()+mathGrade+englishGrade;

publicdoublegetAvg(){

returngetSum()/3;

publicdoublegetMax(){

doublemax=computerGrade;

if(max<

mathGrade)

max=mathGrade;

elseif(max<

englishGrade)

max=englishGrade;

returnmax;

publicdoublegetMin(){

doublemin=computerGrade;

if(min>

mathGrade)

min=mathGrade;

elseif(min>

englishGrade)

min=englishGrade;

returnmin;

publicStringtoString(){

return"

"

+getSum()+"

\n"

+

"

+getAvg()+"

"

+getMax()+"

+getMin()+"

学生信息:

+"

+getId()+"

+getName()+"

+getAge()+"

+getEnglish()+"

|-计算机:

+getComputer()+"

;

运行结果贴图:

(二)

1、设计类来描述真实客观世界中的事物,使用类的成员变量来表示事物的属性和状态,使用类的成员方法来提供对成员变量的访问或修改

程序功能:

设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。

程序源代码如下,补全横线上的程序代码。

importjava.util.*;

publicclasstestcar{

Scannerinput=newScanner(System.in);

System.out.println("

EnterownerNamecurSpeedcurDirInDegree:

);

Carcar=newCar(input.next(),input.nextFloat(),input.nextFloat());

ownerName:

+car.getOwnerName());

curSpeed:

+car.getCurSpeed());

curDirInDegree:

+car.getCurDirInDegree());

Enternewspeed:

car.changeSpeed(input.nextFloat());

newcurSpeed:

carisstopping:

car.stop();

stopcurSpeed:

classCar{

privateStringownerName;

//车主姓名

privatefloatcurSpeed;

//当前车速

privatefloatcurDirInDegree;

//当前方向盘转向角度

publicCar(StringownerName){

this.ownerName=ownerName;

}

publicCar(StringownerName,floatspeed,floatdirInDegree){

this(ownerName);

//调用上面那个构造函数为ownerName赋值

curSpeed=speed;

curDirInDegree=dirInDegree;

publicStringgetOwnerName(){//提供对车主姓名的访问

returnownerName;

publicfloatgetCurDirInDegree(){//提供对当前方向盘转向角度的访问

returncurDirInDegree;

publicfloatgetCurSpeed(){//提供对当前车速的访问

returncurSpeed;

publicvoidchangeSpeed(floatcurSpeed){//提供改变当前的车速

this.curSpeed=curSpeed;

publicvoidstop(){//提供停车

curSpeed=0;

执行结果:

编写一个主方法,编译并测试源程序。

2、创建类的对象,使用对象的方法(类的非静态方法)来访问或修改对象的变量(类的非静态变量)

创建类Car的对象,在调用类的构造函数时指定对象的变量的初始值,以后再使用对象的方法来访问或修改对象的变量的值。

程序代码如下(需要添加代码,要求运行结果如下图所示。

publicclassCar{

publicstaticvoidmain(String[]args){

EXP3_1car=newCar("

成龙"

200f,25f);

//在下面填写代码

编译并运行,结果如图所示。

(三)(账户类Account)设计一个名为Account的类,它包括:

●一个名为id的int类型私有账户数据域(默认值为0)。

●一个名为balance的double类型私有账户数据域(默认值为0)。

余额

●一个名为annualInterestRate的double类型私有数据域存储当前利率(默认值为0)。

假设所有的账户都有相同的利率。

●一个名为dateCreated的Date类型私有数据域存储账户的开户日期。

●一个能创建默认账户的无参构造方法。

●一个能创建带特定id和初始余额的账户的构造方法。

●id、balance和annualInterestRate的访问器和修改器。

●dateCreated的访问器。

●一个名为getMonthlyInterestRate()的方法返回月利率。

●一个名为withDraw的方法从账户提取特定数额。

●一个名为deposit的方法向账户存储特定数额。

实现这个类。

编写一个测试程序,创建一个账户ID为1122、余额为20000美元、年利率为4.5%的Account对象。

使用withdraw方法取款2500美元,使用deposit方法存款3000美元,然后打印余额、月利息以及这个账户的开户日期。

importjava.text.SimpleDateFormat;

importjava.util.Date;

publicclasstestAccount{

Accountaccount=newAccount(1122,20000);

id:

+account.getid());

balance:

+account.getbalance());

account.setannualInterestRate(0.045);

annulIntereatRate:

+account.getannualInterestRate()*100+"

%"

System.out.println();

调用withDraw()函数"

+account.withDraw(2500));

+account.deposit(3000));

longcurrentTime=System.currentTimeMillis();

//当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。

 

SimpleDateFormatformatter=newSimpleDateFormat("

yyyy年-MM月dd日-HH时mm分ss秒"

Datedate=newDate(currentTime);

开户日期"

+formatter.format(date));

classAccount{

privateintid=0;

//账户

privatedoublebalance;

//余额

privatedoubleannualInterestRate;

//当前利率,假设所有的账户都有相同的利率

privateDatedateCreated;

//开户日期

publicAccount(){

id=id+1;

}//默认账户的无参构造方法

publicAccount(intid,doublebalance){

this.balance=balance;

}//一个能创建带特定id和初始余额的账户的构造方法。

//id、balance和annualInterestRate的修改器

publicvoidsetid(intid){

publicvoidsetbalance(doublebalance){

publicvoidsetannualInterestRate(doubleannualInterestRate){

this.annualInterestRate=annualInterestRate;

//id、balance和annualInterestRate的访问器

publicintgetid(){

publicdoublegetbalance(){

returnbalance;

publicdoublegetannualInterestRate(){

returnannualInterestRate;

publicDategetdateCreated(){

returndateCreated;

}//dateCreated的访问器。

publicdoublegetMonthlyInterestRate(doubleMonthlyInterestRate){

returnMonthlyInterestRate;

}//返回月利率。

publicdoublewithDraw(doublebalance){

}//从账户提取特定数额。

publicdoubledeposit(doublebalance){

}//向账户存储特定数额。

(三)(风扇类Fan)设计一个名为Fan的类来表示一个风扇。

这个类包括:

●三个名为SLOW、MEDIUM、FAST而值是1、2和3的常量表示风扇的速度。

●一个名为speed的int类型私有数据域表示风扇的速度(默认值为SLOW)。

●一个名为on的boolean类型的私有数据域表示风扇是否打开(默认值为false)。

●一个名为radius的double类型的私有数据域表示风扇的半径(默认值为5)。

●一个名为color的String类型的数据域表示风扇的颜色(默认值为blue)。

●这四个数据域的访问器和修改器。

●一个创建默认风扇的无参构造方法。

●一个名为toString()的方法返回描述风扇的字符串。

如果风扇是打开的,那么该方法在一个组合的字符串中返回风扇的速度、颜色和半径。

如果风扇没有打开,该方法就返回一个由“fanisoff”和风扇颜色及半径组合成的字符串。

实现这个类。

编写一个测试程序,创建两个fan对象。

将第一个对象设置为最大速度、半径为10、颜色为yellow、状态为打开。

将第二个对象设置为中等速度、半径为5、颜色为blue、状态为关闭。

通过调用它们的toString方法显示这些对象。

/*实现这个类。

*/

publicclasstestFan{

Fanfan1=newFan();

fan1.setSpeed(fan1.FAST);

fan1.setOn(true);

fan1.setRadius(10);

fan1.color="

yellow"

fan1.toString();

System.out.println(fan1.toString());

Fanfan2=newFan();

fan1.setSpeed(fan2.MEDIUM);

fan1.setOn(false);

fan1.setRadius(5);

//fan2.color="

blue"

System.out.println(fan2.toString());

classFan{//风扇

finalintSLOW=1;

finalintMEDIUM=2;

finalintFAST=3;

//常量表示风扇的速度

privateintspeed=SLOW;

//风扇的速度(默认值为SLOW)

privatebooleanon;

//默认值为false,风扇是否打开

privatedoubleradius=5;

//风扇的半径

Stringcolor="

//风扇的颜色(默认值为blue)

publicFan(){}

publicFan(intspeed,booleanon,doubleradius,Stringcolor){

this.speed=speed;

this.on=on;

this.radius=radius;

this.color=color;

//修改器

publicvoidsetSpeed(intspeed){

this.speed=speed;

publicvoidsetOn(booleanon){

this.on=on;

publicvoidsetRadius(doubleradius){

this.radius=radius;

//访问器

publicintgetSpeed(){

returnspeed;

publicbooleangetOn(){

returnon;

publicdoublegetRadius(){

returnradius;

if(on==true)

return"

speedis"

+getSpeed()+"

.Coloris"

+color+

"

.Radiusis"

+getRadius();

else

Fanisoff."

Coloris"

}/*一个名为toString()的方法返回描述风扇的字符串。

(四)(几何方面:

正n边形)在一个正n边形中,所有边的长度都相同,且所有角的度数都相同(即这个多边形是等边等角的)。

设计一个名为RegularPolygon的类,该类包括:

●一个名为n的int型私有数据域定义多边形的边数,默认值为3。

●一个名为side的double型私有数据域存储边的长度,默认值为1。

●一个名为x的double型私有数据域,它定义多边

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2