导入
设计项目结构
与模拟客户进行访谈,将笔记转化为功能需求,并使用 AI 生成 Budget Tracker 项目的最小 Java 项目骨架。
PageFlux AI 助手
💡 选中文本后点击"AI 询问",或 Ctrl+Enter 发送消息
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 助手
💡 选中文本后点击"AI 询问",或 Ctrl+Enter 发送消息
生成包含恰好八个空方法桩的 Java 代码,按以下顺序:
-
从正数设置/更新月收入。
-
记录一项支出,包括文本类别、正数金额和可选备注。
-
通过索引删除一项支出。
-
返回支出金额的总和。
-
返回各分类的总计。
-
打印简单的预算报告。
-
显示最小化的 CLI 菜单。
-
重置内存中的收入和支出。
-
运行主 CLI 循环。
每个方法必须包含简短的文档注释和空体({ })。
生成包含恰好八个空方法桩的 Java 代码,按以下顺序:
-
从正数设置/更新月收入。
-
记录一项支出,包括文本类别、正数金额和可选备注。
-
通过索引删除一项支出。
-
返回支出金额的总和。
-
返回各分类的总计。
-
打印简单的预算报告。
-
显示最小化的 CLI 菜单。
-
重置内存中的收入和支出。
-
运行主 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}