Logo
Section 1 / 4

设计项目结构

与模拟客户进行访谈,将笔记转化为功能需求,并使用 AI 生成 Budget Tracker 项目的最小 Java 项目骨架。

导入

设计项目结构

与模拟客户进行访谈,将笔记转化为功能需求,并使用 AI 生成 Budget Tracker 项目的最小 Java 项目骨架。

PageFlux AI 助手

👋 你好!我是 PageFlux AI 助手,专门帮助您理解课程内容。有什么问题尽管问我吧!

💡 选中文本后点击"AI 询问",或 Ctrl+Enter 发送消息
PageFlux AI 助手

👋 你好!我是 PageFlux AI 助手,专门帮助您理解课程内容。有什么问题尽管问我吧!

💡 选中文本后点击"AI 询问",或 Ctrl+Enter 发送消息

No configuration found for ID: 459b724da0eb34d1f5fd7478ff519191533040596fe20cd83c09749a13e64a0f

1double income = 0.0; 2 3// 支出:一个不断增长的 Expense 对象列表 4// 每条记录:类别(String),金额(double),可选备注(String) 5ArrayList<Expense> expenses = new ArrayList<>();
1public static void addIncome(double amount) { 2 // 设置或更新月收入(必须大于 0) 3} 4 5public static void addExpense(String category, double amount) { 6 // 添加一条支出记录(类别,金额 > 0) 7}
PageFlux AI 助手

👋 你好!我是 PageFlux AI 助手,专门帮助您理解课程内容。有什么问题尽管问我吧!

💡 选中文本后点击"AI 询问",或 Ctrl+Enter 发送消息

生成包含恰好八个空方法桩的 Java 代码,按以下顺序:

  1. 从正数设置/更新月收入。

  2. 记录一项支出,包括文本类别、正数金额和可选备注。

  3. 通过索引删除一项支出。

  4. 返回支出金额的总和。

  5. 返回各分类的总计。

  6. 打印简单的预算报告。

  7. 显示最小化的 CLI 菜单。

  8. 重置内存中的收入和支出。

  9. 运行主 CLI 循环。

每个方法必须包含简短的文档注释和空体({ })。

生成包含恰好八个空方法桩的 Java 代码,按以下顺序:

  1. 从正数设置/更新月收入。

  2. 记录一项支出,包括文本类别、正数金额和可选备注。

  3. 通过索引删除一项支出。

  4. 返回支出金额的总和。

  5. 返回各分类的总计。

  6. 打印简单的预算报告。

  7. 显示最小化的 CLI 菜单。

  8. 重置内存中的收入和支出。

  9. 运行主 CLI 循环。

每个方法必须包含简短的文档注释和空体({ })。

1// 在此处添加你的代码
1import java.util.ArrayList; 2import java.util.HashMap; 3 4public class BudgetTracker { 5 6 private static double income = 0.0; 7 private static ArrayList<Expense> expenses = new ArrayList<>(); 8 9 /** 10 * 设置或更新月收入(必须大于 0)。 11 */ 12 public static void addIncome(double amount) { 13 // TODO: 实现 14 } 15 16 /** 17 * 添加一条支出记录,包含类别、金额(>0)和可选备注。 18 */ 19 public static void addExpense(String category, double amount, String note) { 20 // TODO: 实现 21 } 22 23 /** 24 * 通过索引(从 0 开始)删除一项支出。 25 */ 26 public static void deleteExpense(int index) { 27 // TODO: 实现 28 } 29 30 /** 31 * 返回所有支出金额的总和。 32 */ 33 public static double totalSpent() { 34 // TODO: 实现 35 return 0.0; 36 } 37 38 /** 39 * 从支出列表中返回各分类的总计。 40 */ 41 public static HashMap<String, Double> computeCategoryTotals() { 42 // TODO: 实现 43 return new HashMap<>(); 44 } 45 46 /** 47 * 打印格式化的预算报告,包含收入、总额和分类。 48 */ 49 public static void printReport() { 50 // TODO: 实现 51 } 52 53 /** 54 * 显示一个简单的命令行菜单。 55 */ 56 public static void showMenu() { 57 // TODO: 实现 58 } 59 60 /** 61 * 清除所有存储的数据并重置为初始状态。 62 */ 63 public static void resetData() { 64 // TODO: 实现 65 } 66 67 /** 68 * 主循环:设置收入,添加支出,显示报告,重置,退出。 69 */ 70 public static void runCli() { 71 // TODO: 实现 72 } 73 74 public static void main(String[] args) { 75 runCli(); 76 } 77} 78 79// Expense 的简单模型类 80class Expense { 81 String category; 82 double amount; 83 String note; 84 85 Expense(String category, double amount, String note) { 86 this.category = category; 87 this.amount = amount; 88 this.note = note; 89 } 90}
1import java.util.ArrayList; 2import java.util.HashMap; 3 4public class BudgetTracker { 5 6 private static double income = 0.0; 7 private static ArrayList<Expense> expenses = new ArrayList<>(); 8 9 /** 10 * 设置或更新月收入(必须 > 0)。 11 */ 12 public static void addIncome(double amount) { 13 // TODO: 实现 14 } 15 16 /** 17 * 添加一条支出记录,包含类别、金额(>0)和可选备注。 18 */ 19 public static void addExpense(String category, double amount, String note) { 20 // TODO: 实现 21 } 22 23 /** 24 * 通过索引(0-based)删除一项支出。 25 */ 26 public static void deleteExpense(int index) { 27 // TODO: 实现 28 } 29 30 /** 31 * 返回所有支出金额的总和。 32 */ 33 public static double totalSpent() { 34 // TODO: 实现 35 return 0.0; 36 } 37 38 /** 39 * 从支出列表中返回各分类的总计。 40 */ 41 public static HashMap<String, Double> computeCategoryTotals() { 42 // TODO: 实现 43 return new HashMap<>(); 44 } 45 46 /** 47 * 打印格式化的预算报告,包含收入、总额和分类。 48 */ 49 public static void printReport() { 50 // TODO: 实现 51 } 52 53 /** 54 * 显示一个简单的命令行菜单。 55 */ 56 public static void showMenu() { 57 // TODO: 实现 58 } 59 60 /** 61 * 清除所有存储的数据并重置为初始状态。 62 */ 63 public static void resetData() { 64 // TODO: 实现 65 } 66 67 /** 68 * 主循环:设置收入,添加支出,显示报告,重置,退出。 69 */ 70 public static void runCli() { 71 // TODO: 实现 72 } 73 74 public static void main(String[] args) { 75 runCli(); 76 } 77} 78 79// Expense 的简单模型类 80class Expense { 81 String category; 82 double amount; 83 String note; 84 85 Expense(String category, double amount, String note) { 86 this.category = category; 87 this.amount = amount; 88 this.note = note; 89 } 90}

数据结构

使用提示构建