01: import java.util.ArrayList;
02: 
03: /**
04:    A system of voice mail boxes.
05: */
06: public class MailSystem
07: {
08:    /**
09:       Constructs a mail system with a given number of mail boxes
10:       @param mailboxCount the number of mailboxes
11:    */
12:    public MailSystem(int mailboxCount)
13:    {
14:       mailboxes = new ArrayList(mailboxCount);
15: 
16:       /*
17:          Initialize mail boxes.
18:       */
19:       for (int i = 0; i < mailboxCount; i++)
20:       {
21:          String passcode = "" + (i + 1);
22:          String greeting = "You have reached mailbox " + (i + 1)
23:             + ". \nPlease leave a message now.";
24:          mailboxes.add(i, new Mailbox(passcode, greeting));
25:       }
26:    }
27: 
28:    /**
29:       Locate a mailbox.
30:       @param ext the extension number
31:       @return the mailbox or null if not found
32:    */
33:    public Mailbox findMailbox(String ext)
34:    {
35:       int i = Integer.parseInt(ext);
36:       if (1 <= i && i <= mailboxes.size())
37:          return (Mailbox) mailboxes.get(i - 1);
38:       else return null;
39:    }
40: 
41:    private ArrayList mailboxes;
42: }