在Java中实现一个控制台版留言板,核心思路是用命令行接收用户操作,把留言内容存放在内存集合里,并通过循环展示菜单。这种方式不涉及图形界面,适合用来练习基础语法和逻辑组织。

一、项目整体结构
我们可以把程序分为两个类:一个用来保存单条留言的信息,另一个作为主程序负责菜单和交互。留言类包含编号和内容,主程序用ArrayList管理这些对象。
1. 留言实体类
实体类非常简单,只保存文本和一个自增编号:
public class Message {
private static int counter = 0;
private int id;
private String content;
public Message(String content) {
this.id = ++counter;
this.content = content;
}
public int getId() {
return id;
}
public String getContent() {
return content;
}
@Override
public String toString() {
return id + ": " + content;
}
}
2. 主程序类
主程序里用Scanner读输入,用while循环保持运行,根据输入数字进入不同分支。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BoardApp {
private List<Message> messages = new ArrayList<>();
private Scanner scanner = new Scanner(System.in);
public void start() {
while (true) {
printMenu();
String line = scanner.nextLine();
if ("1".equals(line)) {
addMessage();
} else if ("2".equals(line)) {
showMessages();
} else if ("3".equals(line)) {
System.out.println("已退出");
break;
} else {
System.out.println("请输入正确数字");
}
}
scanner.close();
}
private void printMenu() {
System.out.println("--- 留言板 ---");
System.out.println("1. 添加留言");
System.out.println("2. 查看留言");
System.out.println("3. 退出");
System.out.print("请选择: ");
}
private void addMessage() {
System.out.print("请输入留言: ");
String text = scanner.nextLine();
messages.add(new Message(text));
System.out.println("留言已保存");
}
private void showMessages() {
if (messages.isEmpty()) {
System.out.println("暂无留言");
return;
}
for (Message m : messages) {
System.out.println(m);
}
}
public static void main(String[] args) {
new BoardApp().start();
}
}
二、关键语法点解析
这个项目里用到的都是Java基础内容:
Scanner类用来从控制台读取一行文本。ArrayList作为动态数组,避免自己处理数组扩容。while(true)配合break实现持续交互直到用户退出。- 字符串比较使用
equals方法,不要直接用 ==。
三、可扩展方向
在掌握基础版本后,可以尝试把留言写到文件里,这样程序重启后数据还在。也可以增加删除指定编号留言的功能,或者过滤敏感词。这些改动都不会脱离本文用到的基础语法,是很好的进阶练习。
控制台项目虽然简单,但能帮我们把类、集合、循环和输入输出串起来,形成完整编程直觉。