java 实验十Word文档下载推荐.docx
《java 实验十Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java 实验十Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
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);
privatecharsuit;
privateStringrank;
publicCard(charsuit,Stringrank){
Cardc=newCard('
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);
请输入新的密码:
Stringmima=sc.nextString();
this.mima=newmima;
publicstaticvoidmain(String[]args){
Banka=newBank("
1234567890"
luxi"
1000);
a.deposit(100);
a.withdraw(150);
a.changemima();
a.createTime();
账户账号:
+a.getId());
System.out.printf("
账户姓名:
"
+a.getName());
账户日期:
+a.getCreateTime());
账户余额:
+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的状态和速度;
●启动电风扇(调用对象的开关方法);
●连续加速4次(考虑发生什么情况);
●连续减速4次(考虑发生什么情况);
●关掉电风扇(调用对象的开关方法);
●连续加速2次
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"
风扇已启动转速是%d\n"
this.level);
publicvoidstop(intlevel,Stringstatus){
this.status=status;
风扇已关闭进入待机状态\n"
publicvoidsetspeed(intlevel){
你已经设置的转速等级是%d\n"
publicvoidspeed(){
请设置你要的转速*1,2,3*\n"
Scannerconn=newScanner(System.in);
intle=conn.nextInt();
switch(le){
case1:
this.setspeed
(1);
break;
case2:
this.setspeed
(2);
case3:
this.setspeed(3);
case0:
this.stop(0,"
o