-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElection.java
More file actions
97 lines (88 loc) · 2.76 KB
/
Election.java
File metadata and controls
97 lines (88 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/**
* Fuad Mohamoud
* Computer Science II
* 01/29/2106
*/
import java.util.Random;
public class Election
{
private String title = "DEFAULT";
private Candidate[] candidates = new Candidate[10];
private Random rand = new Random();
/**
* Takes in a title, and 10 candidates for the election.
*/
public Election(String inTitle, Candidate inC1, Candidate inC2, Candidate inC3, Candidate inC4, Candidate inC5, Candidate inC6, Candidate inC7, Candidate inC8, Candidate inC9, Candidate inC10)
{
setTitle(inTitle);
setCandidates(inC1, inC2, inC3, inC4, inC5, inC6, inC7, inC8, inC9, inC10);
}
/**
* sets title to what we passed in via constructor parameter
*/
public void setTitle(String inTitle)
{
title = inTitle;
}
/**
* returns title
*/
public String getTitle()
{
return title;
}
/**
* sets candidates equal to index of an array
*/
public void setCandidates(Candidate inC1, Candidate inC2, Candidate inC3, Candidate inC4, Candidate inC5, Candidate inC6, Candidate inC7, Candidate inC8, Candidate inC9, Candidate inC10)
{
//Spec for OoL #1 didn't say to ensure uniqueness for Election Candidates
//Ergo, I didn't check for that yet!
candidates[0] = inC1;
candidates[1] = inC2;
candidates[2] = inC3;
candidates[3] = inC4;
candidates[4] = inC5;
candidates[5] = inC6;
candidates[6] = inC7;
candidates[7] = inC8;
candidates[8] = inC9;
candidates[9] = inC10;
}
/**
* Returns candidates from candidates array
*/
public String getCandidates()
{
String output = "";
for (int x = 0; x < candidates.length - 1; x++)
{
output = output + candidates[x].getName() + ", ";
}
output = output + candidates[9].getName();
return output;
}
/**
* Declares a winner by
* checking who has the most money
*/
public String declareWinner()
{
Candidate winner = candidates[0];
for (int x = 1; x < candidates.length; x++)
{
if (winner.getMoney() < candidates[x].getMoney())
{
winner = candidates[x];
}
else if (winner.getMoney() == candidates[x].getMoney())
{
if(rand.nextInt(2) == 1)
{
winner = candidates[x];
}
}
}
return winner.getName() + " is the winner of the " + getTitle() + " election";
}
}