java 实验十.docx

上传人:b****5 文档编号:2838871 上传时间:2022-11-15 格式:DOCX 页数:11 大小:66.59KB
下载 相关 举报
java 实验十.docx_第1页
第1页 / 共11页
java 实验十.docx_第2页
第2页 / 共11页
java 实验十.docx_第3页
第3页 / 共11页
java 实验十.docx_第4页
第4页 / 共11页
java 实验十.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

java 实验十.docx

《java 实验十.docx》由会员分享,可在线阅读,更多相关《java 实验十.docx(11页珍藏版)》请在冰豆网上搜索。

java 实验十.docx

java实验十

实验10:

面向对象编程基础

(一)简单的类和对象

实验目的:

1.掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;

2.理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;

实验数据记录及分析(或程序及运行结果)

1.写一个名为Rectangle的类表示矩形。

其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。

要求该类具有:

(1)使用构造函数完成各属性的初始赋值

(2)使用getter和setter的形式完成属性的访问及修改

(3)提供计算面积的getArea()方法

classRectangle{

privatedoubleheight;

privatedoublewidth;

privateStringcolor;

publicdoublegetHeight(){

returnheight;

}

publicvoidsetHeight(doubleheight){

this.height=height;

}

publicdoublegetWidth(){

returnwidth;

}

publicvoidsetWidth(doublewidth){

this.width=width;

}

publicStringgetColor(){

returncolor;

}

publicvoidsetColor(Stringcolor){

this.color=color;

}

publicRectangle(doublewidth,doubleheight,Stringcolor){

this.setColor(color);

this.setHeight(height);

this.setWidth(width);

}

publicvoidgetArea(){

doublearea=0;

area=this.height*this.width;

System.out.println("矩形的面积为:

"+area);

}

publicStringtoString(){

StringrecStr="矩形的宽度:

"+this.getWidth()+"高度:

"+this.getHeight()+"颜色:

"+this.getColor();

returnrecStr;

}

}

publicclassJavaApplication{

publicstaticvoidmain(String[]args){

Rectanglerec=newRectangle(5,8,"蓝色");

rec.getArea();

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

}

}

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

publicclassCard{

publicCard(){

this.suit=suit;

this.rank=rank;

}

publicStringtoString(){

returnsuit+rank;

}

publicstaticvoidmain(String[]args){

Cardc=newCard('红',"10");

System.out.println(c);

}

}

publicclassCard{

privatecharsuit;

privateStringrank;

publicCard(charsuit,Stringrank){

this.suit=suit;

this.rank=rank;

}

publicStringtoString(){

returnsuit+rank;

}

publicstaticvoidmain(String[]args){

Cardc=newCard('红',"10");

System.out.println(c);

}

}

3.银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期(Date),账户密码(六位的数字,可以用0开头),当前的余额。

银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。

定义该类,并要求该类提供如下方法:

存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。

importjava.util.Date;

importjava.util.Scanner;

publicclassBank{

privateStringid;

privateStringname;

privateDatecreateTime;

privateStringmima;

privateintbalance;

publicamount(Stringid,Stringname,intbalance){

super();

this.id=id;

this.name=name;

this.balance=balance;

this.createTime=newDate();

this.mima="123456";

}

publicvoiddeposit(intamount){

this.balance+=amount;

}

publicvoidwithdraw(intamount){

this.balance-=amount;

}

publicDategetCreateTime(){

returncreateTime;

}

publicvoidsetCreateTime(DatecreateTime){

this.createTime=createTime;

}

publicvoidchangemima(){

Scannersc=newScanner(System.in);

System.out.println("请输入新的密码:

");

Stringmima=sc.nextString();

this.mima=newmima;

}

publicstaticvoidmain(String[]args){

Banka=newBank("1234567890","luxi",1000);

a.deposit(100);

a.withdraw(150);

a.changemima();

a.createTime();

System.out.println("账户账号:

"+a.getId());

System.out.printf("账户姓名:

"+a.getName());

System.out.println("账户日期:

"+a.getCreateTime());

System.out.println("账户余额:

"+a.getAmount());

}

}

4.一个Fan有自己的品牌和型号,其调速旋钮speed可以调整Fan的速度(档级在0、1、2、3范围内),通电开关可以改变电扇状态(通电表示工作就绪或者工作,断电表示停止工作)请仔细分析并提供Fan类的定义。

并编写程序对其进行测试。

具体要求如下:

(1)表示该类对象的状态可以用品牌(brand,可以用字符串型表示,因为品牌通常都是多个字符组成的)、工作状态(status,用来反映一个电风扇是否处于通电就绪ready、正在转动working或者静止stop)、当前的速度(speed,可以用数值型表示);

(2)用构造函数可以创建一个电风扇对象,指定其品牌就可以了,一个电风扇的初始状态可以是静止,而且初始速度为0,分析为什么不适宜直接通过构造函数的形式参数来指定初始状态和速度;

(3)给该类提供如下的方法,重点考虑每个动作导致的状态变化,形成代码逻辑;

●提供一个方法来表示电风扇的开与关,模拟一个开关动作

●通过加速和减速两个方法来调整速度,当速度超出极限(0或3),向控制台输出一条告警信息作为提示,并且不执行该调速动作。

●提供一个方法能够返回电风扇当前的状态和速度

(4)添加一个main方法,按顺序完成以下工作,考虑状态与速度变化和开关动作之间的关系:

●创建一个电风扇对象,用f表示;

●加速一次电风扇;

●向控制台输出f的状态和速度;

●启动电风扇(调用对象的开关方法);

●向控制台输出f的状态和速度;

●连续加速4次(考虑发生什么情况);

●向控制台输出f的状态和速度;

●连续减速4次(考虑发生什么情况);

●向控制台输出f的状态和速度;

●关掉电风扇(调用对象的开关方法);

●连续加速2次

●向控制台输出f的状态和速度;

importjava.util.Scanner;

publicclassFan{

privateStringbrand;

privateStringtype;

privateintlevel;

privateStringstatus;

publicFan(intlevel,Stringstatus){

this.brand="apple";

this.type="123";

this.level=level;

this.status=status;

}

publicvoidstart(){

this.level=1;

this.status="on";

System.out.printf("风扇已启动转速是%d\n",this.level);

}

publicvoidstop(intlevel,Stringstatus){

this.level=level;

this.status=status;

System.out.printf("风扇已关闭进入待机状态\n");

}

publicvoidsetspeed(intlevel){

this.level=level;

System.out.printf("你已经设置的转速等级是%d\n",this.level);

}

publicvoidspeed(){

System.out.printf("请设置你要的转速*1,2,3*\n");

Scannerconn=newScanner(System.in);

intle=conn.nextInt();

switch(le){

case1:

this.setspeed

(1);break;

case2:

this.setspeed

(2);break;

case3:

this.setspeed(3);break;

case0:

this.stop(0,"o

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

当前位置:首页 > 工程科技 > 能源化工

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

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