Practice with arrays and ArrayList
s 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.