Practice with arrays and ArrayLists in Java. More practice with loops and debugging in Java. More practice implementing classes based on a given specification.
ArraysAndLists project inside Eclipse. Use the SVN Repository Exploring perspective to check out this project, then switch back to the Java perspective.
Finish any methods in ElectoralSimulator and ElectoralSimulatorMain that you didn’t complete in class. See TODO comments for details.
Here’s an example of the output from my solution for your reference. I omitted a bunch of rows with 0 stars and increased the number of trials to a very large number to get a smoother curve. (Note that these are probabilities from a random simulation, so the number of stars won't be exactly the same every time.) In my solution I added a line before 270 electoral votes, the number required for candidate A to win.
0:
1:
...
135:
136:
137: *
138: *
139: *
140: *
141: *
142: *
143: *
144: *
145: *
146: *
147: *
148: **
149: *
150: **
151: **
152: **
153: **
154: **
155: **
156: ***
157: ***
158: ***
159: ***
160: ***
161: ****
162: ****
163: ****
164: ****
165: *****
166: *****
167: *****
168: *****
169: ******
170: ******
171: ******
172: ******
173: ******
174: *******
175: *******
176: ********
177: ********
178: ********
179: ********
180: *********
181: *********
182: *********
183: **********
184: **********
185: ***********
186: ***********
187: ***********
188: ************
189: ************
190: *************
191: *************
192: *************
193: **************
194: **************
195: ***************
196: **************
197: ****************
198: ****************
199: *****************
200: *****************
201: *****************
202: ******************
203: ******************
204: *******************
205: ********************
206: ********************
207: ********************
208: *********************
209: *********************
210: **********************
211: **********************
212: ***********************
213: ***********************
214: ************************
215: *************************
216: *************************
217: **************************
218: **************************
219: ***************************
220: ***************************
221: ***************************
222: ****************************
223: ******************************
224: *****************************
225: ******************************
226: *******************************
227: *******************************
228: ********************************
229: *********************************
230: **********************************
231: **********************************
232: **********************************
233: ***********************************
234: ***********************************
235: ************************************
236: ************************************
237: *************************************
238: **************************************
239: **************************************
240: **************************************
241: ***************************************
242: ***************************************
243: ****************************************
244: ****************************************
245: *****************************************
246: *****************************************
247: *****************************************
248: ******************************************
249: ******************************************
250: ******************************************
251: ********************************************
252: ********************************************
253: *******************************************
254: ********************************************
255: *********************************************
256: *********************************************
257: **********************************************
258: **********************************************
259: ***********************************************
260: **********************************************
261: **********************************************
262: ************************************************
263: ***********************************************
264: ***********************************************
265: ***********************************************
266: ***********************************************
267: **********************************************
268: ************************************************
269: ************************************************
-------------------------------------------------------
270: ************************************************
271: ************************************************
272: *************************************************
273: ************************************************
274: *************************************************
275: *************************************************
276: *************************************************
277: ************************************************
278: *************************************************
279: ************************************************
280: *************************************************
281: *************************************************
282: **************************************************
283: ************************************************
284: *************************************************
285: ************************************************
286: ************************************************
287: ************************************************
288: ************************************************
289: ************************************************
290: ************************************************
291: ************************************************
292: ************************************************
293: ***********************************************
294: **********************************************
295: **********************************************
296: **********************************************
297: *********************************************
298: *********************************************
299: *********************************************
300: ********************************************
301: *********************************************
302: ********************************************
303: ********************************************
304: *******************************************
305: ******************************************
306: ******************************************
307: ******************************************
308: *****************************************
309: *****************************************
310: ****************************************
311: ***************************************
312: ***************************************
313: ****************************************
314: **************************************
315: **************************************
316: **************************************
317: ************************************
318: *************************************
319: ************************************
320: ***********************************
321: **********************************
322: **********************************
323: **********************************
324: *********************************
325: ********************************
326: *******************************
327: *******************************
328: *******************************
329: ******************************
330: ******************************
331: ****************************
332: ****************************
333: ****************************
334: ****************************
335: ***************************
336: *************************
337: *************************
338: ************************
339: ************************
340: ************************
341: ***********************
342: **********************
343: **********************
344: *********************
345: ********************
346: ********************
347: *******************
348: *******************
349: ******************
350: *****************
351: *****************
352: *****************
353: ****************
354: ****************
355: ***************
356: ***************
357: **************
358: **************
359: *************
360: *************
361: ************
362: ************
363: ***********
364: ***********
365: ***********
366: **********
367: **********
368: **********
369: *********
370: *********
371: *********
372: ********
373: *******
374: *******
375: *******
376: *******
377: ******
378: ******
379: *****
380: *****
381: *****
382: *****
383: ****
384: ****
385: ****
386: ****
387: ****
388: ****
389: ***
390: ***
391: ***
392: ***
393: **
394: **
395: **
396: **
397: **
398: **
399: **
400: *
401: *
402: *
403: *
404: *
405: *
406: *
407: *
408: *
409:
410: *
411:
412: *
413:
...
537:
538:
Candidate A victory probability: 55.0 %
Candidate B victory probability: 44.3 %
ElectoralSimulatorMain to display a graphical bar chart of the results in addition to the textual one. Use three different colors for the bars: one for bars representing fewer than half the electoral votes, one for bars representing more than half, and one for a tie.
QuizScoresMain containing a main() method.
main() method, create an ArrayList to store quiz scores. Use an element type that will support half-points.
QuizScores class whose constructor takes an ArrayList containing the quiz scores.
QuizScores class, document and implement methods for each of the operations below. Be sure to create JUnit tests for each method.
Turn in your programming work by committing it to your SVN repository.