KaiquanMah commited on
Commit
37afcbe
·
verified ·
1 Parent(s): 4cf0f1d

System.out.println("<menu item i>");

Browse files
Week 3: Objects, files and exceptions/22. Phone book 4: Menu ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Write the method
2
+
3
+ public static void start()
4
+
5
+ which initialises the HashMap object needed in the phone book and prints a menu,
6
+ where the user can choose which operation to perform.
7
+
8
+
9
+ The program then calls either the method
10
+ - addNumber,
11
+ - findNumber or
12
+ - listBook.
13
+ It is not necessary to define the methods, it is sufficient to call them.
14
+ All methods get a HashMap object as a parameter.
15
+
16
+
17
+
18
+ An example of program execution:
19
+ 1. Add number
20
+ 2. Find number
21
+ 3. List numbers
22
+ 0. Exit
23
+ Option: 1
24
+ Name: Pete
25
+ Number: 12345
26
+
27
+ 1. Add number
28
+ 2. Find number
29
+ 3. List numbers
30
+ 0. Exit
31
+ Option: 1
32
+ Name: Jack
33
+ Number: 54321
34
+
35
+ 1. Add number
36
+ 2. Find number
37
+ 3. List numbers
38
+ 0. Exit
39
+ Choice: 3
40
+ Name: Jack, number: 54321
41
+ Name: Pete, number: 12345
42
+
43
+ 1. Add number
44
+ 2. Find number
45
+ 3. List numbers
46
+ 0. Exit
47
+ Option: 2
48
+ Name: Pete
49
+ Number: 12345
50
+
51
+ 1. Add number
52
+ 2. Find number
53
+ 3. List numbers
54
+ 0. Exit
55
+ Option: 0
56
+
57
+
58
+
59
+
60
+
61
+
62
+ ================================================
63
+
64
+
65
+
66
+ import java.util.Random;
67
+ import java.util.Arrays;
68
+ import java.util.HashMap;
69
+ import java.util.Collections;
70
+ import java.util.ArrayList;
71
+ import java.util.Scanner;
72
+
73
+
74
+
75
+ public class Test{
76
+ public static void main(String[] args){
77
+ final Random r = new Random();
78
+
79
+ // <hide>
80
+
81
+ String[] s = {"1","Pete","12345","1","Jack","54321", "1", "Maya", "99999", "3", "2", "Pete", "2", "Jack", "0"};
82
+ Scanner.setStream(s);
83
+ start();
84
+
85
+
86
+
87
+ }
88
+
89
+
90
+
91
+ //q22
92
+ public static void start() {
93
+ HashMap<String, String> numbers = new HashMap<>();
94
+ Scanner reader = new Scanner(System.in);
95
+
96
+ while (true) {
97
+ // Options Menu
98
+ System.out.println("1. Add number");
99
+ System.out.println("2. Find number");
100
+ System.out.println("3. List numbers");
101
+ System.out.println("0. Exit");
102
+
103
+ // User inputs what 'option' they want
104
+ System.out.print("Option: ");
105
+ int option = Integer.parseInt(reader.nextLine());
106
+
107
+ // Exit if option is 0
108
+ if (option == 0) {
109
+ break;
110
+ }
111
+ // Add Number if option is 1
112
+ else if (option == 1) {
113
+ addNumber(numbers);
114
+ }
115
+ else if (option == 2) {
116
+ findNumber(numbers);
117
+ }
118
+ else if (option == 3) {
119
+ listBook(numbers);
120
+ }
121
+ // if none of the options exist - continue. no printouts
122
+ else {
123
+ continue;
124
+ }
125
+
126
+ // print 1 extra line separating subsequent option selections
127
+ System.out.println("");
128
+ }
129
+ }
130
+
131
+
132
+
133
+
134
+
135
+
136
+ }
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ 1. Add number
148
+ 2. Find number
149
+ 3. List numbers
150
+ 0. Exit
151
+ Option: 1
152
+ Name: Pete
153
+ Number: 12345
154
+
155
+ 1. Add number
156
+ 2. Find number
157
+ 3. List numbers
158
+ 0. Exit
159
+ Option: 1
160
+ Name: Jack
161
+ Number: 54321
162
+
163
+ 1. Add number
164
+ 2. Find number
165
+ 3. List numbers
166
+ 0. Exit
167
+ Option: 1
168
+ Name: Maya
169
+ Number: 99999
170
+
171
+ 1. Add number
172
+ 2. Find number
173
+ 3. List numbers
174
+ 0. Exit
175
+ Option: 3
176
+ Name: Jack, number: 54321
177
+ Name: Maya, number: 99999
178
+ Name: Pete, number: 12345
179
+
180
+ 1. Add number
181
+ 2. Find number
182
+ 3. List numbers
183
+ 0. Exit
184
+ Option: 2
185
+ Name: Pete
186
+ Number: 12345
187
+
188
+ 1. Add number
189
+ 2. Find number
190
+ 3. List numbers
191
+ 0. Exit
192
+ Option: 2
193
+ Name: Jack
194
+ Number: 54321
195
+
196
+ 1. Add number
197
+ 2. Find number
198
+ 3. List numbers
199
+ 0. Exit
200
+ Option: 0
201
+