Преглед изворни кода

main functionality complete

Jared Norris пре 8 година
родитељ
комит
8dfc8933d8

+ 159
- 253
.idea/workspace.xml Прегледај датотеку

@@ -2,19 +2,13 @@
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4 4
     <list default="true" id="4c7141a8-00aa-4bdc-a809-0119ca846f0f" name="Default" comment="">
5
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Account.java" afterDir="false" />
6
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java" afterDir="false" />
7
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java" afterDir="false" />
8
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java" afterDir="false" />
9
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java" afterDir="false" />
10
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java" afterDir="false" />
11
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/TransactionLimit.java" afterDir="false" />
12
-      <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
13
-      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
14
-      <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" />
15 5
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
16
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BankAccount.java" beforeDir="false" />
17
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java" afterDir="false" />
6
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Account.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Account.java" afterDir="false" />
7
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java" afterDir="false" />
8
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java" afterDir="false" />
9
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java" afterDir="false" />
10
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java" afterDir="false" />
11
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java" afterDir="false" />
18 12
     </list>
19 13
     <ignored path="$PROJECT_DIR$/target/" />
20 14
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -25,155 +19,17 @@
25 19
     <option name="LAST_RESOLUTION" value="IGNORE" />
26 20
   </component>
27 21
   <component name="FileEditorManager">
28
-    <splitter split-orientation="horizontal" split-proportion="0.5">
29
-      <split-first>
30
-        <leaf>
31
-          <file leaf-file-name="MainApplication.java" pinned="false" current-in-tab="false">
32
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java">
33
-              <provider selected="true" editor-type-id="text-editor">
34
-                <state relative-caret-position="255">
35
-                  <caret line="17" lean-forward="true" selection-start-line="17" selection-end-line="17" />
36
-                </state>
37
-              </provider>
38
-            </entry>
39
-          </file>
40
-          <file leaf-file-name="Atm.java" pinned="false" current-in-tab="true">
41
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java">
42
-              <provider selected="true" editor-type-id="text-editor">
43
-                <state relative-caret-position="367">
44
-                  <caret line="32" column="37" selection-start-line="32" selection-start-column="37" selection-end-line="32" selection-end-column="37" />
45
-                </state>
46
-              </provider>
47
-            </entry>
48
-          </file>
49
-          <file leaf-file-name="README.md" pinned="false" current-in-tab="false">
50
-            <entry file="file://$PROJECT_DIR$/README.md">
51
-              <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
52
-                <state split_layout="SECOND">
53
-                  <first_editor />
54
-                  <second_editor />
55
-                </state>
56
-              </provider>
57
-            </entry>
58
-          </file>
59
-          <file leaf-file-name="InputOutput.java" pinned="false" current-in-tab="false">
60
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java">
61
-              <provider selected="true" editor-type-id="text-editor">
62
-                <state relative-caret-position="270">
63
-                  <caret line="18" column="49" selection-start-line="18" selection-start-column="49" selection-end-line="18" selection-end-column="49" />
64
-                  <folding>
65
-                    <element signature="e#140#141#0" expanded="true" />
66
-                    <element signature="e#158#159#0" expanded="true" />
67
-                    <element signature="e#112#113#0" expanded="true" />
68
-                    <element signature="e#148#149#0" expanded="true" />
69
-                    <element signature="e#314#315#0" expanded="true" />
70
-                    <element signature="e#367#368#0" expanded="true" />
71
-                    <element signature="e#420#421#0" expanded="true" />
72
-                    <element signature="e#480#481#0" expanded="true" />
73
-                    <element signature="e#696#697#0" expanded="true" />
74
-                    <element signature="e#756#757#0" expanded="true" />
75
-                  </folding>
76
-                </state>
77
-              </provider>
78
-            </entry>
79
-          </file>
80
-          <file leaf-file-name="TransactionLimit.java" pinned="false" current-in-tab="false">
81
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/TransactionLimit.java">
82
-              <provider selected="true" editor-type-id="text-editor">
83
-                <state relative-caret-position="90">
84
-                  <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
85
-                </state>
86
-              </provider>
87
-            </entry>
88
-          </file>
89
-          <file leaf-file-name="Account.java" pinned="false" current-in-tab="false">
90
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Account.java">
91
-              <provider selected="true" editor-type-id="text-editor">
92
-                <state relative-caret-position="420">
93
-                  <caret line="28" column="5" selection-start-line="28" selection-start-column="5" selection-end-line="28" selection-end-column="5" />
94
-                  <folding>
95
-                    <element signature="e#216#217#0" expanded="true" />
96
-                    <element signature="e#246#247#0" expanded="true" />
97
-                  </folding>
98
-                </state>
99
-              </provider>
100
-            </entry>
101
-          </file>
102
-          <file leaf-file-name="BusinessAccount.java" pinned="false" current-in-tab="false">
103
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java">
104
-              <provider selected="true" editor-type-id="text-editor">
105
-                <state relative-caret-position="180">
106
-                  <caret line="12" selection-start-line="12" selection-end-line="12" />
107
-                  <folding>
108
-                    <element signature="e#107#108#0" expanded="true" />
109
-                    <element signature="e#127#128#0" expanded="true" />
110
-                    <element signature="e#338#339#0" expanded="true" />
111
-                    <element signature="e#359#360#0" expanded="true" />
112
-                  </folding>
113
-                </state>
114
-              </provider>
115
-            </entry>
116
-          </file>
117
-          <file leaf-file-name="CheckingAccount.java" pinned="false" current-in-tab="false">
118
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java">
119
-              <provider selected="true" editor-type-id="text-editor">
120
-                <state relative-caret-position="285">
121
-                  <caret line="19" column="50" lean-forward="true" selection-start-line="19" selection-start-column="50" selection-end-line="19" selection-end-column="50" />
122
-                  <folding>
123
-                    <element signature="e#119#120#0" expanded="true" />
124
-                    <element signature="e#147#148#0" expanded="true" />
125
-                    <element signature="e#489#490#0" expanded="true" />
126
-                    <element signature="e#528#529#0" expanded="true" />
127
-                  </folding>
128
-                </state>
129
-              </provider>
130
-            </entry>
131
-          </file>
132
-          <file leaf-file-name="SavingsAccount.java" pinned="false" current-in-tab="false">
133
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java">
134
-              <provider selected="true" editor-type-id="text-editor">
135
-                <state relative-caret-position="210">
136
-                  <caret line="14" column="24" lean-forward="true" selection-start-line="14" selection-start-column="24" selection-end-line="14" selection-end-column="24" />
137
-                  <folding>
138
-                    <element signature="e#118#119#0" expanded="true" />
139
-                    <element signature="e#146#147#0" expanded="true" />
140
-                    <element signature="e#422#423#0" expanded="true" />
141
-                    <element signature="e#479#480#0" expanded="true" />
142
-                  </folding>
143
-                </state>
144
-              </provider>
145
-            </entry>
146
-          </file>
147
-        </leaf>
148
-      </split-first>
149
-      <split-second>
150
-        <leaf>
151
-          <file leaf-file-name="InputOutput.java" pinned="false" current-in-tab="true">
152
-            <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java">
153
-              <provider selected="true" editor-type-id="text-editor">
154
-                <state relative-caret-position="476">
155
-                  <caret line="43" column="38" lean-forward="true" selection-start-line="43" selection-start-column="38" selection-end-line="43" selection-end-column="38" />
156
-                  <folding>
157
-                    <element signature="e#140#141#0" expanded="true" />
158
-                    <element signature="e#184#185#0" expanded="true" />
159
-                    <element signature="e#327#328#0" expanded="true" />
160
-                    <element signature="e#353#354#0" expanded="true" />
161
-                    <element signature="e#331#332#0" expanded="true" />
162
-                    <element signature="e#356#357#0" expanded="true" />
163
-                    <element signature="e#693#694#0" expanded="true" />
164
-                    <element signature="e#717#718#0" expanded="true" />
165
-                    <element signature="e#985#986#0" expanded="true" />
166
-                    <element signature="e#1006#1007#0" expanded="true" />
167
-                    <element signature="e#1045#1046#0" expanded="true" />
168
-                    <element signature="e#1069#1070#0" expanded="true" />
169
-                  </folding>
170
-                </state>
171
-              </provider>
172
-            </entry>
173
-          </file>
174
-        </leaf>
175
-      </split-second>
176
-    </splitter>
22
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
23
+      <file leaf-file-name="MainApplication.java" pinned="false" current-in-tab="true">
24
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java">
25
+          <provider selected="true" editor-type-id="text-editor">
26
+            <state relative-caret-position="75">
27
+              <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
28
+            </state>
29
+          </provider>
30
+        </entry>
31
+      </file>
32
+    </leaf>
177 33
   </component>
178 34
   <component name="FileTemplateManagerImpl">
179 35
     <option name="RECENT_TEMPLATES">
@@ -189,13 +45,13 @@
189 45
   <component name="IdeDocumentHistory">
190 46
     <option name="CHANGED_PATHS">
191 47
       <list>
192
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java" />
193 48
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/TransactionLimit.java" />
49
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java" />
194 50
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Account.java" />
195 51
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java" />
196
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java" />
197
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java" />
198 52
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java" />
53
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java" />
54
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java" />
199 55
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java" />
200 56
       </list>
201 57
     </option>
@@ -209,7 +65,7 @@
209 65
   <component name="NodePackageJsonFileManager">
210 66
     <packageJsonPaths />
211 67
   </component>
212
-  <component name="ProjectFrameBounds">
68
+  <component name="ProjectFrameBounds" fullScreen="true">
213 69
     <option name="y" value="23" />
214 70
     <option name="width" value="1280" />
215 71
     <option name="height" value="709" />
@@ -284,6 +140,17 @@
284 140
     </option>
285 141
   </component>
286 142
   <component name="RunManager">
143
+    <configuration name="MainApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
144
+      <option name="MAIN_CLASS_NAME" value="com.zipcodewilmington.bankaccountlab.MainApplication" />
145
+      <module name="bankaccountlab" />
146
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
147
+      <extension name="coverage">
148
+        <pattern>
149
+          <option name="PATTERN" value="com.zipcodewilmington.bankaccountlab.*" />
150
+          <option name="ENABLED" value="true" />
151
+        </pattern>
152
+      </extension>
153
+    </configuration>
287 154
     <configuration default="true" type="Application" factoryName="Application">
288 155
       <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
289 156
     </configuration>
@@ -325,6 +192,11 @@
325 192
       <properties />
326 193
       <listeners />
327 194
     </configuration>
195
+    <recent_temporary>
196
+      <list>
197
+        <item itemvalue="Application.MainApplication" />
198
+      </list>
199
+    </recent_temporary>
328 200
   </component>
329 201
   <component name="SvnConfiguration">
330 202
     <configuration />
@@ -336,73 +208,75 @@
336 208
       <option name="number" value="Default" />
337 209
       <option name="presentableId" value="Default" />
338 210
       <updated>1528929747119</updated>
339
-      <workItem from="1528929748503" duration="4919000" />
211
+      <workItem from="1528929748503" duration="4952000" />
212
+      <workItem from="1528989571594" duration="4451000" />
340 213
     </task>
341 214
     <servers />
342 215
   </component>
343 216
   <component name="TimeTrackingManager">
344
-    <option name="totallyTimeSpent" value="4919000" />
217
+    <option name="totallyTimeSpent" value="9403000" />
345 218
   </component>
346 219
   <component name="ToolWindowManager">
347
-    <frame x="0" y="23" width="1280" height="709" extended-state="0" />
220
+    <frame x="0" y="0" width="1280" height="800" extended-state="0" />
348 221
     <editor active="true" />
349 222
     <layout>
350
-      <window_info anchor="right" id="Palette" />
223
+      <window_info anchor="right" id="Palette" order="3" />
351 224
       <window_info anchor="bottom" id="TODO" order="6" />
352
-      <window_info anchor="right" id="Palette&#9;" />
353
-      <window_info id="Image Layers" />
354
-      <window_info anchor="right" id="Capture Analysis" />
355
-      <window_info anchor="bottom" id="Event Log" side_tool="true" />
356
-      <window_info anchor="right" id="Maven Projects" />
357
-      <window_info anchor="bottom" id="Database Changes" show_stripe_button="false" />
358
-      <window_info anchor="bottom" id="Run" order="2" />
359
-      <window_info anchor="bottom" id="Version Control" />
360
-      <window_info anchor="bottom" id="Terminal" />
361
-      <window_info id="Capture Tool" />
362
-      <window_info id="Designer" />
363
-      <window_info content_ui="combo" id="Project" order="0" weight="0.24959612" />
364
-      <window_info anchor="right" id="Database" />
365
-      <window_info anchor="bottom" id="Find" order="1" weight="0.32843137" />
366
-      <window_info id="Learn" />
225
+      <window_info anchor="bottom" id="Messages" weight="0.32965517" />
226
+      <window_info anchor="right" id="Palette&#9;" order="3" />
227
+      <window_info id="Image Layers" order="2" />
228
+      <window_info anchor="right" id="Capture Analysis" order="3" />
229
+      <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
230
+      <window_info anchor="right" id="Maven Projects" order="3" />
231
+      <window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
232
+      <window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.32965517" />
233
+      <window_info anchor="bottom" id="Version Control" order="7" />
234
+      <window_info anchor="bottom" id="Terminal" order="7" />
235
+      <window_info id="Capture Tool" order="2" />
236
+      <window_info id="Designer" order="2" />
237
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24959612" />
238
+      <window_info anchor="right" id="Database" order="3" />
239
+      <window_info id="Learn" order="2" />
367 240
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
368 241
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
369
-      <window_info id="UI Designer" />
370
-      <window_info anchor="right" id="Theme Preview" />
242
+      <window_info id="UI Designer" order="2" />
243
+      <window_info anchor="right" id="Theme Preview" order="3" />
371 244
       <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
372
-      <window_info id="Favorites" side_tool="true" />
373
-      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
374
-      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
245
+      <window_info id="Favorites" order="2" side_tool="true" />
375 246
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
247
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
248
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
376 249
       <window_info anchor="bottom" id="Message" order="0" />
377 250
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
251
+      <window_info anchor="bottom" id="Find" order="1" weight="0.32843137" />
378 252
     </layout>
379 253
     <layout-to-restore>
380 254
       <window_info anchor="right" id="Palette" order="0" />
255
+      <window_info anchor="bottom" id="Version Control" order="3" />
256
+      <window_info anchor="bottom" id="Find" order="5" />
381 257
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="8" weight="0.25" />
382 258
       <window_info anchor="right" id="Capture Analysis" order="1" />
383 259
       <window_info anchor="bottom" id="Run" order="6" />
384
-      <window_info anchor="right" id="Ant Build" order="7" weight="0.25" />
385
-      <window_info anchor="bottom" id="Message" order="4" />
386
-      <window_info active="true" content_ui="combo" id="Project" order="6" visible="true" weight="0.24959612" />
387
-      <window_info id="Learn" order="0" />
388 260
       <window_info anchor="right" id="Theme Preview" order="2" />
389
-      <window_info anchor="bottom" id="TODO" order="10" />
390
-      <window_info anchor="bottom" id="Database Changes" order="0" show_stripe_button="false" />
261
+      <window_info active="true" content_ui="combo" id="Project" order="6" visible="true" weight="0.24959612" />
262
+      <window_info id="Structure" order="7" side_tool="true" weight="0.25" />
391 263
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="6" type="SLIDING" weight="0.4" />
264
+      <window_info anchor="right" id="Ant Build" order="7" weight="0.25" />
265
+      <window_info anchor="bottom" id="Database Changes" order="0" show_stripe_button="false" />
266
+      <window_info anchor="bottom" id="TODO" order="10" />
392 267
       <window_info id="Image Layers" order="1" />
393 268
       <window_info id="Designer" order="2" />
394
-      <window_info anchor="bottom" id="Cvs" order="8" weight="0.25" />
395 269
       <window_info id="UI Designer" order="3" />
396 270
       <window_info anchor="bottom" id="Debug" order="7" weight="0.4" />
397
-      <window_info id="Structure" order="7" side_tool="true" weight="0.25" />
398
-      <window_info anchor="right" id="Database" order="3" />
271
+      <window_info id="Learn" order="0" />
399 272
       <window_info anchor="right" id="Palette&#9;" order="4" />
400 273
       <window_info anchor="bottom" id="Terminal" order="1" />
401 274
       <window_info anchor="bottom" id="Event Log" order="2" side_tool="true" />
402 275
       <window_info anchor="bottom" id="Inspection" order="9" weight="0.4" />
403
-      <window_info anchor="bottom" id="Version Control" order="3" />
276
+      <window_info anchor="bottom" id="Cvs" order="8" weight="0.25" />
404 277
       <window_info id="Capture Tool" order="4" />
405
-      <window_info anchor="bottom" id="Find" order="5" />
278
+      <window_info anchor="bottom" id="Message" order="4" />
279
+      <window_info anchor="right" id="Database" order="3" />
406 280
       <window_info anchor="right" id="Maven Projects" order="5" />
407 281
       <window_info id="Favorites" order="5" side_tool="true" />
408 282
     </layout-to-restore>
@@ -414,6 +288,13 @@
414 288
     <option name="myLimit" value="2678400000" />
415 289
   </component>
416 290
   <component name="editorHistoryManager">
291
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java">
292
+      <provider selected="true" editor-type-id="text-editor">
293
+        <state relative-caret-position="255">
294
+          <caret line="17" lean-forward="true" selection-start-line="17" selection-end-line="17" />
295
+        </state>
296
+      </provider>
297
+    </entry>
417 298
     <entry file="file://$PROJECT_DIR$/README.md">
418 299
       <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
419 300
         <state split_layout="SECOND">
@@ -422,100 +303,125 @@
422 303
         </state>
423 304
       </provider>
424 305
     </entry>
425
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java">
306
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/TransactionLimit.java">
426 307
       <provider selected="true" editor-type-id="text-editor">
427
-        <state relative-caret-position="180">
428
-          <caret line="12" selection-start-line="12" selection-end-line="12" />
308
+        <state relative-caret-position="90">
309
+          <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
310
+        </state>
311
+      </provider>
312
+    </entry>
313
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Account.java">
314
+      <provider selected="true" editor-type-id="text-editor">
315
+        <state relative-caret-position="390">
316
+          <caret line="28" column="5" selection-start-line="28" selection-start-column="5" selection-end-line="28" selection-end-column="5" />
429 317
           <folding>
430
-            <element signature="e#107#108#0" expanded="true" />
431
-            <element signature="e#127#128#0" expanded="true" />
432
-            <element signature="e#338#339#0" expanded="true" />
433
-            <element signature="e#359#360#0" expanded="true" />
318
+            <element signature="e#373#374#0" expanded="true" />
319
+            <element signature="e#411#412#0" expanded="true" />
434 320
           </folding>
435 321
         </state>
436 322
       </provider>
437 323
     </entry>
324
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java">
325
+      <provider selected="true" editor-type-id="text-editor">
326
+        <state relative-caret-position="150">
327
+          <caret line="12" selection-start-line="12" selection-end-line="12" />
328
+        </state>
329
+      </provider>
330
+    </entry>
331
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java">
332
+      <provider selected="true" editor-type-id="text-editor">
333
+        <state relative-caret-position="240">
334
+          <caret line="19" column="50" lean-forward="true" selection-start-line="19" selection-start-column="50" selection-end-line="19" selection-end-column="50" />
335
+        </state>
336
+      </provider>
337
+    </entry>
438 338
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java">
439 339
       <provider selected="true" editor-type-id="text-editor">
440
-        <state relative-caret-position="210">
340
+        <state relative-caret-position="180">
441 341
           <caret line="14" column="24" lean-forward="true" selection-start-line="14" selection-start-column="24" selection-end-line="14" selection-end-column="24" />
442
-          <folding>
443
-            <element signature="e#118#119#0" expanded="true" />
444
-            <element signature="e#146#147#0" expanded="true" />
445
-            <element signature="e#422#423#0" expanded="true" />
446
-            <element signature="e#479#480#0" expanded="true" />
447
-          </folding>
448 342
         </state>
449 343
       </provider>
450 344
     </entry>
451
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BankAccount.java">
345
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java">
452 346
       <provider selected="true" editor-type-id="text-editor">
453
-        <state relative-caret-position="75">
454
-          <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
347
+        <state relative-caret-position="480">
348
+          <caret line="32" column="37" selection-start-line="32" selection-start-column="37" selection-end-line="32" selection-end-column="37" />
455 349
         </state>
456 350
       </provider>
457 351
     </entry>
458
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Account.java">
352
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java">
459 353
       <provider selected="true" editor-type-id="text-editor">
460
-        <state relative-caret-position="420">
461
-          <caret line="28" column="5" selection-start-line="28" selection-start-column="5" selection-end-line="28" selection-end-column="5" />
462
-          <folding>
463
-            <element signature="e#216#217#0" expanded="true" />
464
-            <element signature="e#246#247#0" expanded="true" />
465
-          </folding>
354
+        <state relative-caret-position="210">
355
+          <caret line="18" column="49" selection-start-line="18" selection-start-column="49" selection-end-line="18" selection-end-column="49" />
466 356
         </state>
467 357
       </provider>
468 358
     </entry>
469
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/TransactionLimit.java">
359
+    <entry file="file://$PROJECT_DIR$/README.md">
360
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
361
+        <state split_layout="SECOND">
362
+          <first_editor />
363
+          <second_editor />
364
+        </state>
365
+      </provider>
366
+    </entry>
367
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BankAccount.java" />
368
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java">
470 369
       <provider selected="true" editor-type-id="text-editor">
471
-        <state relative-caret-position="90">
472
-          <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
370
+        <state relative-caret-position="585">
371
+          <caret line="39" column="44" selection-start-line="39" selection-start-column="44" selection-end-line="39" selection-end-column="44" />
473 372
         </state>
474 373
       </provider>
475 374
     </entry>
476
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java">
375
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java">
477 376
       <provider selected="true" editor-type-id="text-editor">
478
-        <state relative-caret-position="255">
479
-          <caret line="17" lean-forward="true" selection-start-line="17" selection-end-line="17" />
377
+        <state relative-caret-position="165">
378
+          <caret line="14" column="27" lean-forward="true" selection-start-line="14" selection-start-column="27" selection-end-line="14" selection-end-column="27" />
379
+        </state>
380
+      </provider>
381
+    </entry>
382
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java">
383
+      <provider selected="true" editor-type-id="text-editor">
384
+        <state relative-caret-position="120">
385
+          <caret line="10" column="27" selection-start-line="10" selection-start-column="27" selection-end-line="10" selection-end-column="27" />
386
+        </state>
387
+      </provider>
388
+    </entry>
389
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/TransactionLimit.java">
390
+      <provider selected="true" editor-type-id="text-editor">
391
+        <state relative-caret-position="30">
392
+          <caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
480 393
         </state>
481 394
       </provider>
482 395
     </entry>
483 396
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java">
484 397
       <provider selected="true" editor-type-id="text-editor">
485
-        <state relative-caret-position="285">
486
-          <caret line="19" column="50" lean-forward="true" selection-start-line="19" selection-start-column="50" selection-end-line="19" selection-end-column="50" />
398
+        <state relative-caret-position="30">
399
+          <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
400
+        </state>
401
+      </provider>
402
+    </entry>
403
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Account.java">
404
+      <provider selected="true" editor-type-id="text-editor">
405
+        <state relative-caret-position="90">
406
+          <caret line="6" column="36" lean-forward="true" selection-start-line="6" selection-start-column="36" selection-end-line="6" selection-end-column="36" />
487 407
           <folding>
488
-            <element signature="e#119#120#0" expanded="true" />
489
-            <element signature="e#147#148#0" expanded="true" />
490
-            <element signature="e#489#490#0" expanded="true" />
491
-            <element signature="e#528#529#0" expanded="true" />
408
+            <element signature="e#373#374#0" expanded="true" />
409
+            <element signature="e#411#412#0" expanded="true" />
492 410
           </folding>
493 411
         </state>
494 412
       </provider>
495 413
     </entry>
496 414
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java">
497 415
       <provider selected="true" editor-type-id="text-editor">
498
-        <state relative-caret-position="270">
499
-          <caret line="18" column="49" selection-start-line="18" selection-start-column="49" selection-end-line="18" selection-end-column="49" />
500
-          <folding>
501
-            <element signature="e#140#141#0" expanded="true" />
502
-            <element signature="e#158#159#0" expanded="true" />
503
-            <element signature="e#112#113#0" expanded="true" />
504
-            <element signature="e#148#149#0" expanded="true" />
505
-            <element signature="e#314#315#0" expanded="true" />
506
-            <element signature="e#367#368#0" expanded="true" />
507
-            <element signature="e#420#421#0" expanded="true" />
508
-            <element signature="e#480#481#0" expanded="true" />
509
-            <element signature="e#696#697#0" expanded="true" />
510
-            <element signature="e#756#757#0" expanded="true" />
511
-          </folding>
416
+        <state relative-caret-position="-281">
417
+          <caret line="24" column="69" selection-start-line="24" selection-start-column="69" selection-end-line="24" selection-end-column="69" />
512 418
         </state>
513 419
       </provider>
514 420
     </entry>
515
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java">
421
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/bankaccountlab/MainApplication.java">
516 422
       <provider selected="true" editor-type-id="text-editor">
517
-        <state relative-caret-position="367">
518
-          <caret line="32" column="37" selection-start-line="32" selection-start-column="37" selection-end-line="32" selection-end-column="37" />
423
+        <state relative-caret-position="75">
424
+          <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
519 425
         </state>
520 426
       </provider>
521 427
     </entry>

+ 6
- 1
src/main/java/com/zipcodewilmington/bankaccountlab/Account.java Прегледај датотеку

@@ -15,10 +15,15 @@ public abstract class Account implements TransactionLimit {
15 15
 
16 16
     public void setBalance(double balance) {
17 17
         this.balance = balance;
18
-        display.balanceChange(getBalance());
18
+    }
19
+
20
+    public void withdraw(double amount) {
21
+        balance -= amount;
22
+        display.successfulWithdrawal(amount, getBalance());
19 23
     }
20 24
 
21 25
     public void transfer(Account recipient, double deposit) {
26
+        withdraw(deposit);
22 27
         recipient.setBalance(recipient.getBalance() + deposit);
23 28
         display.successfulTransfer(recipient, deposit);
24 29
     }

+ 34
- 22
src/main/java/com/zipcodewilmington/bankaccountlab/Atm.java Прегледај датотеку

@@ -15,45 +15,57 @@ public class Atm {
15 15
     public void mainLoop() {
16 16
         accountIndex = display.chooseAccount();
17 17
         while (usingAtm) {
18
-            switch(display.chooseCommand()) {
19
-                case 1:
20
-                    deposit();
21
-                    break;
22
-                case 2:
23
-                    withdraw();
24
-                    break;
25
-                case 3:
26
-                    transfer();
27
-                    break;
28
-                case 4:
29
-                    swapAccounts();
30
-                    break;
31
-                case 5:
32
-                    exit();
33
-                    usingAtm = false;
34
-                    break;
35
-                default: display.badCommand();
18
+            try {
19
+                display.currentBalance(accounts[accountIndex].getBalance());
20
+                switch (display.chooseCommand()) {
21
+                    case 1:
22
+                        if (atTransactionLimit()) deposit();
23
+                        break;
24
+                    case 2:
25
+                        if (atTransactionLimit()) withdraw();
26
+                        break;
27
+                    case 3:
28
+                        if (atTransactionLimit()) transfer();
29
+                        break;
30
+                    case 4:
31
+                        swapAccounts();
32
+                        break;
33
+                    case 5:
34
+                        exit();
35
+                        break;
36
+                    default:
37
+                        display.badCommand();
38
+                }
39
+            } catch (Exception e) {
40
+                display.insufficientFunds();
41
+                exit();
36 42
             }
37 43
         }
38 44
     }
39 45
 
40 46
     public void deposit() {
41
-
47
+        accounts[accountIndex].deposit(display.enterNumber("deposit"));
42 48
     }
43 49
 
44 50
     public void withdraw() {
45
-
51
+        accounts[accountIndex].withdraw(display.enterNumber("withdraw"));
46 52
     }
47 53
 
48 54
     public void transfer() {
49
-
55
+        recipientIndex = display.recipientAccount();
56
+        accounts[accountIndex].transfer(accounts[recipientIndex], display.enterNumber("transfer"));
50 57
     }
51 58
 
52 59
     public void swapAccounts() {
60
+        accountIndex = display.chooseAccount();
61
+    }
53 62
 
63
+    public boolean atTransactionLimit() {
64
+        return accounts[accountIndex].limitTransactions();
54 65
     }
55 66
 
56 67
     public void exit() {
57
-
68
+        usingAtm = false;
69
+        display.fareWell();
58 70
     }
59 71
 }

+ 1
- 1
src/main/java/com/zipcodewilmington/bankaccountlab/BusinessAccount.java Прегледај датотеку

@@ -8,7 +8,7 @@ public class BusinessAccount extends Account {
8 8
 
9 9
     public boolean limitTransactions() {
10 10
         display.showTransactionLimit(getTransactionLimit());
11
-        return false;
11
+        return true;
12 12
     }
13 13
 
14 14
     public String getTransactionLimit() {

+ 5
- 2
src/main/java/com/zipcodewilmington/bankaccountlab/CheckingAccount.java Прегледај датотеку

@@ -8,9 +8,12 @@ public class CheckingAccount extends Account {
8 8
     }
9 9
 
10 10
     public boolean limitTransactions() {
11
-        if (transactionLimit > 0) return false;
11
+        transactionLimit--;
12
+        if (transactionLimit < 1) {
13
+            display.showTransactionLimit("0");
14
+            return false;
15
+        }
12 16
         else {
13
-            transactionLimit--;
14 17
             display.showTransactionLimit(getTransactionLimit());
15 18
             return true;
16 19
         }

+ 34
- 5
src/main/java/com/zipcodewilmington/bankaccountlab/InputOutput.java Прегледај датотеку

@@ -9,11 +9,11 @@ public class InputOutput {
9 9
     }
10 10
 
11 11
     public void print(String message) {
12
-        System.out.println("message");
12
+        System.out.println(message);
13 13
     }
14 14
 
15
-    public void balanceChange(double balance) {
16
-        print("Current balance: $" + balance);
15
+    public void insufficientFunds() {
16
+        print("insufficient funds!");
17 17
     }
18 18
 
19 19
     public void successfulDeposit(double deposit) {
@@ -21,7 +21,16 @@ public class InputOutput {
21 21
     }
22 22
 
23 23
     public void successfulTransfer(Account recipient, double deposit) {
24
-        print("Deposited $" + deposit + " into your " + recipient.getClass());
24
+        String[] accountName = recipient.getClass().toString().split(".");
25
+        print("Transferred $" + deposit + " into your " + accountName);
26
+    }
27
+
28
+    public void successfulWithdrawal(double amount, double balance) {
29
+        print("Successfully withdrew: $" + amount);
30
+    }
31
+
32
+    public void currentBalance(double balance) {
33
+        print("Current balance: $" + balance);
25 34
     }
26 35
 
27 36
     public void showTransactionLimit(String limit) {
@@ -36,12 +45,32 @@ public class InputOutput {
36 45
         return kb.nextInt() - 1;
37 46
     }
38 47
 
48
+    public int recipientAccount() {
49
+        print("Recipient Account Selection Menu");
50
+        return chooseAccount();
51
+    }
52
+
39 53
     public int chooseCommand() {
40
-        return 0;
54
+        print("1.) Deposit");
55
+        print("2.) Withdrawal");
56
+        print("3.) Transfer Funds");
57
+        print("4.) Change Account");
58
+        print("5.) Exit");
59
+
60
+        return kb.nextInt();
61
+    }
62
+
63
+    public double enterNumber(String message) {
64
+        print("Please enter an amount to " + message);
65
+        return kb.nextDouble();
41 66
     }
42 67
 
43 68
     public void badCommand() {
44 69
         print("Unrecognized command");
45 70
     }
46 71
 
72
+    public void fareWell() {
73
+        print("Good-Bye!");
74
+    }
75
+
47 76
 }

+ 5
- 2
src/main/java/com/zipcodewilmington/bankaccountlab/SavingsAccount.java Прегледај датотеку

@@ -8,9 +8,12 @@ public class SavingsAccount extends Account {
8 8
     }
9 9
 
10 10
     public boolean limitTransactions() {
11
-        if (transactionLimit > 0) return false;
11
+        transactionLimit--;
12
+        if (transactionLimit < 1) {
13
+            display.showTransactionLimit("0");
14
+            return false;
15
+        }
12 16
         else {
13
-            transactionLimit--;
14 17
             display.showTransactionLimit(getTransactionLimit());
15 18
             return true;
16 19
         }