-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElectionApplication.java
More file actions
73 lines (60 loc) · 1.83 KB
/
ElectionApplication.java
File metadata and controls
73 lines (60 loc) · 1.83 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
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class Electorate {
private char myVote;
private List<Character> receivedVotes;
public Electorate() {
receivedVotes = new ArrayList<>();
}
public void inputVote() {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your vote (A or B): ");
myVote = scanner.next().charAt(0);
}
public void sendVote(List<Electorate> electorates) {
for (Electorate electorate : electorates) {
electorate.receiveVote(myVote);
}
}
public void receiveVote(char vote) {
receivedVotes.add(vote);
}
public void determineWinner() {
int candidateA_votes = 0;
int candidateB_votes = 0;
for (char vote : receivedVotes) {
if (vote == 'A') {
candidateA_votes++;
} else if (vote == 'B') {
candidateB_votes++;
}
}
char winner;
if (candidateA_votes > candidateB_votes) {
winner = 'A';
} else if (candidateB_votes > candidateA_votes) {
winner = 'B';
} else {
winner = 'T';
}
System.out.println("Winner: " + winner);
}
}
public class ElectionApplication {
public static void main(String[] args) {
int numElectorates = 5;
List<Electorate> electorates = new ArrayList<>();
for (int i = 0; i < numElectorates; i++) {
Electorate electorate = new Electorate();
electorate.inputVote();
electorates.add(electorate);
}
for (Electorate electorate : electorates) {
electorate.sendVote(electorates);
}
for (Electorate electorate : electorates) {
electorate.determineWinner();
}
}
}