Java控制台待办事项系统是检验Scanner、ArrayList、类设计等综合能力的分水岭;需用Task类封装结构,ArrayList管理任务,统一用nextLine()防输入崩,while(true)菜单循环配switch,操作前校验索引并提示总数。
Java 控制台待办事项系统不是“练手玩具”,而是检验你能否把 Scanner、ArrayList、类设计、循环与分支真正串起来的分水岭。写不出来,往往不是语法不会,而是没想清「状态怎么存」「操作怎么闭环」「输入异常怎么不崩」。
用 ArrayList 存任务,别用数组或字符串拼接
很多人起步用 String[] 或一堆 String 变量存任务,结果增删时索引错乱、长度越界、空指针频发。待办事项天然有结构:标题、完成状态、创建时间(哪怕简化为布尔值)。必须封装成类:
class Task {
String title;
boolean done;
Task(String title) {
this.title = title;
this.done = false;
}
}
主逻辑里用 ArrayList 管理:
- 增:直接
tasks.add(new Task(input)) - 删:用
tasks.remove(index),注意校验index >= 0 && index - 查/改:遍历
for (int i = 0; i ,用i+1当用户看到的序号(从 1 开始)
输入处理必须用 Scanner.nextLine() 配合 hasNextLine() 防崩
控制台交互最常崩在输入上。比如用户输数字选菜单,你用 scanner.nextInt() 后立刻跟 scanner.nextLine() —— 这会读到换行符,导致下一次 nextLine() 拿到空字符串。正确做法是:
立即学习“Java免费学习笔记(深入)”;