java程序设计课程--实验报告-实验06.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
实验06的目标是让学生掌握Java中的类的编写,方法声明,理解构造方法和普通方法的差异,以及可见性与作用域的概念。实验分为两个部分,第一部分是创建一个名为`Account`的银行账户类,第二部分是编写一个管理账户的外壳程序`ManageAccounts`。 在`Account`类中: 1. `toString`方法用于返回一个包含账户信息的字符串。通常,`toString`方法会返回对象的状态描述,这里需要补充的代码应包括账户的姓名、账户号码和余额。例如: ```java public String toString() { NumberFormat formatter = NumberFormat.getCurrencyInstance(); return "Account [name=" + name + ", acctNum=" + acctNum + ", balance=" + formatter.format(balance) + "]"; } ``` 2. `chargeFee`方法用于扣除服务费。需要确定服务费的具体金额,然后从账户余额中减去。例如: ```java public void chargeFee(double fee) { balance -= fee; } ``` 3. 修改后的`chargeFee`方法返回新的余额,可以这样实现: ```java public double chargeFee(double fee) { balance -= fee; return balance; } ``` 4. `changeName`方法接收一个新姓名作为参数,更新账户的姓名: ```java public void changeName(String newName) { name = newName; } ``` 接下来是`ManageAccounts`程序,它应该能够创建`Account`对象,进行存款、取款、收费等操作。这部分需要补充的代码可能包括创建账户、调用`Account`类的方法并打印结果。例如: ```java import java.util.Scanner; public class ManageAccounts { public static void main(String[] args) { Scanner input = new Scanner(System.in); // 创建Account对象 Account myAccount = new Account(1000.0, "John Doe", 123456789L); // 输入存款金额并存款 System.out.print("Enter deposit amount: "); double depositAmount = input.nextDouble(); myAccount.deposit(depositAmount); // 输入取款金额并取款 System.out.print("Enter withdrawal amount: "); double withdrawalAmount = input.nextDouble(); myAccount.withdraw(withdrawalAmount); // 收取服务费 double fee = 10.0; double newBalance = myAccount.chargeFee(fee); // 打印账户信息 System.out.println(myAccount.toString()); System.out.println("New Balance: " + myAccount.getBalance()); // 更改账户名 System.out.print("Enter new account name: "); String newName = input.next(); myAccount.changeName(newName); System.out.println("Updated Account: " + myAccount); } } ``` 这个实验帮助学生实践了面向对象编程的基本概念,如类的定义、方法的实现以及对象的使用。同时,通过`Account`类的实例,他们还能理解到如何处理类的可见性和作用域,以及如何通过构造方法初始化对象状态。
- 粉丝: 3
- 资源: 11万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (179941432)基于MATLAB车牌识别系统【GUI含界面】.zip
- (179941434)基于MATLAB车牌识别系统【含界面GUI】.zip
- (178021462)基于Javaweb+ssm的医院在线挂号系统的设计与实现.zip
- (178047214)基于springboot图书管理系统.zip
- 张郅奇 的Python学习过程
- (23775420)欧姆龙PLC CP1H-E CP1L-E CJ2M CP1E 以太网通讯.zip
- (174590622)计算机课程设计-IP数据包解析
- (175550824)泛海三江全系调试软件PCSet-All2.0.3 1
- (172742832)实验1 - LC并联谐振回路仿真实验报告1
- 网络搭建练习题.pkt