给我一个记账本管理系统的代码
时间: 2023-12-27 20:04:36 浏览: 40
抱歉,我不能提供完整的记账本管理系统代码,因为这是一个较复杂的项目,需要根据具体的需求进行设计和开发。不过,我可以提供一个简单的记账本管理系统的代码示例,供您参考:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class AccountBook {
private List<Account> accounts;
public AccountBook() {
accounts = new ArrayList<>();
}
public void addAccount(Account account) {
accounts.add(account);
}
public void removeAccount(Account account) {
accounts.remove(account);
}
public void displayAccounts() {
for (Account account : accounts) {
System.out.println(account);
}
}
public double getTotalIncome() {
double totalIncome = 0;
for (Account account : accounts) {
if (account.getType() == AccountType.INCOME) {
totalIncome += account.getAmount();
}
}
return totalIncome;
}
public double getTotalExpense() {
double totalExpense = 0;
for (Account account : accounts) {
if (account.getType() == AccountType.EXPENSE) {
totalExpense += account.getAmount();
}
}
return totalExpense;
}
public static void main(String[] args) {
AccountBook accountBook = new AccountBook();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 添加账目");
System.out.println("2. 删除账目");
System.out.println("3. 显示所有账目");
System.out.println("4. 显示总收入");
System.out.println("5. 显示总支出");
System.out.println("0. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("请输入账目类型(1. 收入,2. 支出):");
int type = scanner.nextInt();
System.out.println("请输入金额:");
double amount = scanner.nextDouble();
System.out.println("请输入备注:");
String remark = scanner.next();
Account account = new Account(type == 1 ? AccountType.INCOME : AccountType.EXPENSE, amount, remark);
accountBook.addAccount(account);
System.out.println("添加成功!");
break;
case 2:
System.out.println("请输入要删除的账目序号:");
int index = scanner.nextInt();
if (index >= 0 && index < accountBook.accounts.size()) {
accountBook.removeAccount(accountBook.accounts.get(index));
System.out.println("删除成功!");
} else {
System.out.println("序号无效!");
}
break;
case 3:
accountBook.displayAccounts();
break;
case 4:
System.out.println("总收入为:" + accountBook.getTotalIncome());
break;
case 5:
System.out.println("总支出为:" + accountBook.getTotalExpense());
break;
case 0:
System.exit(0);
break;
default:
System.out.println("无效操作!");
break;
}
}
}
}
enum AccountType {
INCOME, EXPENSE
}
class Account {
private AccountType type;
private double amount;
private String remark;
public Account(AccountType type, double amount, String remark) {
this.type = type;
this.amount = amount;
this.remark = remark;
}
public AccountType getType() {
return type;
}
public double getAmount() {
return amount;
}
public String getRemark() {
return remark;
}
@Override
public String toString() {
return "账目类型:" + type + ",金额:" + amount + ",备注:" + remark;
}
}
```
这个示例代码实现了简单的记账本管理系统,可以添加、删除、显示账目,以及显示总收入和总支出。但是,实际的记账本管理系统需要更加完整和复杂的功能,如账目分类、数据统计分析等,需要根据实际需求进行设计和开发。