答案:程序通过Email和Mailbox类模拟邮箱的收发功能,实现邮件存储与查看。定义Email类包含发件人、收件人、主题和内容,并提供getter方法和toString输出;Mailbox类维护用户邮箱,使用List存储邮件,提供接收邮件、查看收件箱及统计邮件数量功能;主程序创建两个用户Alice和Bob,测试发送与接收流程,验证收件人匹配机制;运行结果显示邮件正确接收与错误提示,支持后续扩展如删除、筛选等操作,帮助理解面向对象设计与集合应用。

要创建一个简单的邮箱模拟程序,你可以使用Java的基本类来实现邮件的发送、接收和查看功能。这个程序不连接真实邮件服务器,而是模拟邮箱的核心操作,适合学习面向对象编程和集合的使用。
1. 定义邮件类(Email)
每个邮件包含发件人、收件人、主题和内容等信息。
public class Email { private String from; private String to; private String subject; private String body; <pre class='brush:java;toolbar:false;'>public Email(String from, String to, String subject, String body) { this.from = from; this.to = to; this.subject = subject; this.body = body; } // Getter方法 public String getFrom() { return from; } public String getTo() { return to; } public String getSubject() { return subject; } public String getBody() { return body; } @Override public String toString() { return "From: " + from + "nTo: " + to + "nSubject: " + subject + "nBody: " + body + "n"; }
}
2. 创建邮箱类(Mailbox)
邮箱用来存储收到的邮件,并提供发送和查看邮件的方法。
立即学习“Java免费学习笔记(深入)”;
import java.util.ArrayList; import java.util.List; <p>public class Mailbox { private String owner; private List<Email> inbox;</p><pre class='brush:java;toolbar:false;'>public Mailbox(String owner) { this.owner = owner; this.inbox = new ArrayList<>(); } // 接收邮件 public void receiveEmail(Email email) { if (email.getTo().equals(owner)) { inbox.add(email); System.out.println("收件成功:来自 " + email.getFrom()); } else { System.out.println("收件失败:收件人不匹配"); } } // 查看所有邮件 public void viewinbox() { if (inbox.isEmpty()) { System.out.println("收件箱为空。"); } else { System.out.println("n--- 收件箱 ---"); for (int i = 0; i < inbox.size(); i++) { System.out.println("邮件 " + (i+1) + ":n" + inbox.get(i)); } } } // 获取邮件数量 public int getEmailCount() { return inbox.size(); }
}
3. 主程序测试邮箱功能
在主类中创建邮箱和邮件,测试发送和接收流程。
public class EmailSimulator { public static void main(String[] args) { // 创建两个邮箱用户 Mailbox alice = new Mailbox("alice@example.com"); Mailbox bob = new Mailbox("bob@example.com"); <pre class='brush:java;toolbar:false;'> // Bob 发送邮件给 Alice Email email1 = new Email("bob@example.com", "alice@example.com", "你好 Alice", "这是一封测试邮件!"); alice.receiveEmail(email1); // 再发一封给 Bob 自己(测试错误) Email email2 = new Email("alice@example.com", "bob@example.com", "回复", "收到啦,谢谢!"); alice.receiveEmail(email2); // 错误:Alice 不能接收发给 Bob 的邮件 bob.receiveEmail(email2); // 正确接收 // 查看邮箱 alice.viewInbox(); bob.viewInbox(); }
}
4. 运行结果示例
程序输出类似如下内容:
收件成功:来自 bob@example.com 收件失败:收件人不匹配 收件成功:来自 alice@example.com <p>--- 收件箱 --- 邮件 1: From: bob@example.com To: alice@example.com Subject: 你好 Alice Body: 这是一封测试邮件!</p><p>--- 收件箱 --- 邮件 1: From: alice@example.com To: bob@example.com Subject: 回复 Body: 收到啦,谢谢!</p>
基本上就这些。通过这个简单程序,你可以理解如何用Java模拟现实中的对象交互。后续可扩展功能如:删除邮件、按发件人筛选、草稿箱、群发等。核心是掌握类的设计与对象之间的消息传递。


