Java 短消息接收系统:模拟短信管理和操作

本示例演示了如何使用 Java 编写一个简单的短消息接收系统,模拟短消息的接收和操作,例如显示、阅读、删除和清空短消息列表。程序最多可以存储 20 条短消息,超过 20 条时会删除最早的短消息。代码中使用了 ArrayList 和自定义类 Message 来管理短消息数据。

功能说明

  • 接收短消息:接收用户输入的短消息内容,并存储到列表中。如果列表已满,会删除最早的短消息。
  • 显示短消息列表:显示当前已接收的短消息列表。
  • 阅读短消息:根据序号阅读指定的短消息内容。
  • 删除短消息:根据序号删除指定的短消息。
  • 清空短消息列表:删除所有已接收的短消息。

代码示例

import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;

public class MessageApp { private static ArrayList<Message> messages = new ArrayList<>();

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    
    while (true) {
        System.out.println(&quot;1. 接收短消息&quot;);
        System.out.println(&quot;2. 显示短消息列表&quot;);
        System.out.println(&quot;3. 阅读短消息&quot;);
        System.out.println(&quot;4. 删除短消息&quot;);
        System.out.println(&quot;5. 清空短消息列表&quot;);
        System.out.println(&quot;6. 退出程序&quot;);
        System.out.print(&quot;请选择操作:&quot;);
        
        int choice = scanner.nextInt();
        switch (choice) {
            case 1:
                receiveMessage(scanner);
                break;
            case 2:
                displayMessages();
                break;
            case 3:
                readMessage(scanner);
                break;
            case 4:
                deleteMessage(scanner);
                break;
            case 5:
                clearMessages();
                break;
            case 6:
                System.exit(0);
        }
    }
}

private static void receiveMessage(Scanner scanner) {
    scanner.nextLine(); // 清除换行符
    System.out.print(&quot;请输入短消息内容:&quot;);
    String content = scanner.nextLine();
    
    if (messages.size() &gt;= 20) {
        messages.remove(0); // 删除最早的短消息
    }
    
    Message message = new Message(content, new Date());
    messages.add(message);
    
    System.out.println(&quot;短消息接收成功!&quot;);
}

private static void displayMessages() {
    if (messages.isEmpty()) {
        System.out.println(&quot;短消息列表为空!&quot;);
    } else {
        System.out.println(&quot;短消息列表:&quot;);
        for (int i = 0; i &lt; messages.size(); i++) {
            System.out.println((i + 1) + &quot;. &quot; + messages.get(i).getContent());
        }
    }
}

private static void readMessage(Scanner scanner) {
    System.out.print(&quot;请输入要阅读的短消息序号:&quot;);
    int index = scanner.nextInt();
    
    if (index &gt;= 1 &amp;&amp; index &lt;= messages.size()) {
        Message message = messages.get(index - 1);
        System.out.println(&quot;短消息内容:&quot; + message.getContent());
        System.out.println(&quot;接收时间:&quot; + message.getReceiveTime());
    } else {
        System.out.println(&quot;无效的短消息序号!&quot;);
    }
}

private static void deleteMessage(Scanner scanner) {
    System.out.print(&quot;请输入要删除的短消息序号:&quot;);
    int index = scanner.nextInt();
    
    if (index &gt;= 1 &amp;&amp; index &lt;= messages.size()) {
        messages.remove(index - 1);
        System.out.println(&quot;短消息删除成功!&quot;);
    } else {
        System.out.println(&quot;无效的短消息序号!&quot;);
    }
}

private static void clearMessages() {
    messages.clear();
    System.out.println(&quot;短消息列表已清空!&quot;);
}

}

class Message { private String content; private Date receiveTime;

public Message(String content, Date receiveTime) {
    this.content = content;
    this.receiveTime = receiveTime;
}

public String getContent() {
    return content;
}

public Date getReceiveTime() {
    return receiveTime;
}

}

注意事项

  • 本示例只实现了基本的短消息管理功能,没有进行输入验证和异常处理。
  • 在实际开发中,可能需要增加一些额外的功能和处理逻辑,例如:
    • 发送短消息
    • 短信内容过滤
    • 短信分类管理
    • 短信存储到数据库
Java 短消息接收系统:模拟短信管理和操作

原文地址: https://www.cveoy.top/t/topic/puk6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录