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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Magica Cloth 2 v2.4.2
- 深入探索UE4中的植被制作:从基础到高级技术
- 人体脊柱核磁图像分割、MR分割、3D分割(数据格式为nii.gz的3d分割数据集)、二值图像分割
- Screenshot_20241020_125740_com_tencent_mm_GestureGalleryUI.jpg
- 孙英奥210283200809213316.zip
- C语言中的代码版本控制:策略、工具与实践
- 如何在Unreal Engine 4中实现非真实感渲染(NPR)效果
- 高创伺服调试软件Servostudio2-38-6-78
- 【Unity科幻机器人资源包】SCI FI ROBOTS PACK VOL 1
- 算法训练-使用JAX训练CLIP算法-支持fine-tuning-优质项目实战.zip