实验3 类和对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验3 类和对象的创建与使用

一、实验目的

1、掌握类的定义和对象的创建;

2、掌握构造方法的作用、格式及重载;

3、掌握修饰词对成员存取权限的限制。

4、掌握实例成员、类成员的定义和使用方法。

二、实验内容

1、定义储蓄账户类,并创建对象模拟银行基本操作。

2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做)

3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。

三、实验步骤

说明:请将第1,3题代码写入实验报告实验步骤处。

1、模拟银行账户功能。

编写程序,模拟银行账户功能。要求如下:

属性:账号、姓名、地址、存款余额、最小余额。

方法:存款、取款、查询。

根据用户操作显示储户相关信息。

如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。

取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。

public class AccountOperation

{

public static void main(String [] args)

{

Account account1=new Account("650101","柳眉","天河学院",800.00);

Account account2=new Account("650102","郑杰","天河学院",200.00);

account1.transfer(account1,account2,300.0);

account1.deposit(300.5);

account1.withdraw(200);

account1.withdraw(300);

account1.query();

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

//System.out.println(); error!!

}

}

class Account

{

private String account;

private String name;

private String address;

private double balance;

static double minBalance=10.0;

public Account(String account,String name,String address,double balance)

{

this.account=account;

this.address=address;

=name;

this.balance=balance;

}

public void deposit(double cash)

{

System.out.print("您账户原有余额:"+balance+" ");

System.out.print("现存入:"+cash+" ");

balance+=cash;

System.out.println("现有余额:"+balance);

}

public void withdraw(double cash)

{

double temp=balance-cash;

if(temp

System.out.println("至少保留余额:"+minBalance);

else

{balance=temp;

System.out.println("取款成功!取款"+cash+" "+"现有余额:"+balance);

}

}

public void tranfer(Account a1,Account a2,double cash)

{

double temp=a1.balance-cash;

if(temp

System.out.println("余额不足!");

else

{

a1.balance-=cash;

a2.balance+=cash;

System.out.println("转账成功!");

System.out.println(+"转出"+cash+","++"转入"+cash);

System.out.println(+"现有余额:"+a1.balance+","++"现有余额:"+a2.balance);

}

}

public void query()

{

System.out.println("现有余额:"+balance);

}

public String toString()

{

return "账号:"+account+" "+"姓名:"+name+" "+"地址:"+address+" "+"现有余额:"+balance;

}

}

2、两游戏角色决斗。(选做,不需写作业本上)

角色1交手次数+1,生命值-1,经验值+2;角色2交手次数+1,生命值-2,经验值+3。经验值每增加50时,生命值+1;生命值<0判为负。生命值初始为1000,经验值初始为0。给定二个不同的角色,判定交手的胜负关系。

提示:

step1:建立角色类,给出相应的成员,并能以生命值、经验值初始化角色对象。

step2:建立fight方法,接收二个角色类型的参数,返回胜者。

step3:初始化二角色,调用fight方法。

class Role

{

int n,exp,hp; //n:交手次数exp:经验值hp:生命值

Role(int h,int e) //构造函数,以生命值、经验值初始化角色对象

{

hp=h;

exp=e;

}

Role fight(Role r1,Role r2) //接收两个角色类型的参数,返回胜者

{

while(r1.hp>=0 && r2.hp>=0) //执行计算决斗胜负的逻辑

{

r1.n++;//交手次数+1

r1.hp--;//生命值-1

r1.exp+=2;//经验值+2

if( r1.exp%50==0)

r1.hp++;//经验值每增加50时,生命值+1

r2.n++;//交手次数+1

r2.hp-=2;//生命值-2

r2.exp+=3;//经验值+3

if(r2.exp%50==0)

r2.hp++;//经验值每增加50时,生命值+1

}

if(r1.hp>=0)//判断胜负

相关文档
最新文档