用Java写一个家庭记账
时间: 2024-09-09 21:09:02 浏览: 22
在Java中编写一个简单的家庭记账程序可以分为以下几个步骤:
1. 定义账户类(Account):包含账户名(name),余额(balance)等属性,并提供增加收入(increaseIncome)、减少支出(decreaseExpense)的方法。
```java
public class Account {
private String name;
private double balance;
public Account(String name) {
this.name = name;
this.balance = 0.0;
}
// 提供存款方法
public void increaseIncome(double amount) {
balance += amount;
}
// 提供取款方法
public void decreaseExpense(double amount) {
if (amount <= balance) {
balance -= amount;
} else {
System.out.println("取款金额超过当前余额!");
}
}
// 获取当前余额
public double getBalance() {
return balance;
}
}
```
2. 创建家庭类(Family):包含成员账户列表(list)并提供记录收支的操作。
```java
import java.util.ArrayList;
import java.util.List;
public class Family {
private List<Account> accounts;
public Family() {
accounts = new ArrayList<>();
}
// 添加成员账户
public void addAccount(Account account) {
accounts.add(account);
}
// 记录收入
public void recordIncome(String memberName, double amount) {
for (Account account : accounts) {
if (account.getName().equals(memberName)) {
account.increaseIncome(amount);
break;
}
}
}
// 记录支出
public void recordExpense(String memberName, double amount) {
for (Account account : accounts) {
if (account.getName().equals(memberName)) {
account.decreaseExpense(amount);
break;
}
}
}
}
```
3. 使用家庭类:
```java
public class Main {
public static void main(String[] args) {
Family family = new Family();
Account account1 = new Account("张三");
Account account2 = new Account("李四");
family.addAccount(account1);
family.addAccount(account2);
// 记录收入和支出
family.recordIncome("张三", 5000.0);
family.recordExpense("李四", 1000.0);
// 查看每个成员的余额
for (Account account : family.accounts) {
System.out.println(account.getName() + "的余额: " + account.getBalance());
}
}
}
```