-
Notifications
You must be signed in to change notification settings - Fork 0
/
Televoto.java
98 lines (88 loc) · 3.75 KB
/
Televoto.java
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
98
package prg.es3;
import java.util.ArrayList;
public class Televoto{
ArrayList<Partecipante> listaPartecipanti = new ArrayList<>();
ArrayList<Votante> listaVotanti = new ArrayList<>();
public Televoto(){
//IMPOSTAZIONE PARTECIPANTI
listaPartecipanti.add(new Partecipante("Lazza"));
listaPartecipanti.add(new Partecipante("Fedez"));
listaPartecipanti.add(new Partecipante("Villabanks"));
listaPartecipanti.add(new Partecipante("Mambolosco"));
listaPartecipanti.add(new Partecipante("Sfera Ebbasta"));
listaPartecipanti.add(new Partecipante("Franco126"));
listaPartecipanti.add(new Partecipante("Luche'"));
listaPartecipanti.add(new Partecipante("Coez"));
listaPartecipanti.add(new Partecipante("Psicologi"));
listaPartecipanti.add(new Partecipante("Pinguini Tattici Nucleari"));
listaPartecipanti.add(new Partecipante("Rhove"));
listaPartecipanti.add(new Partecipante("Marco Mengoni"));
listaPartecipanti.add(new Partecipante("Tananai"));
listaPartecipanti.add(new Partecipante("Maneskin"));
listaPartecipanti.add(new Partecipante("Capo Plaza"));
}
private Votante nuovoVotante(String phone){
Votante newV = new Votante(phone);
listaVotanti.add(newV);
return newV;
}
public void getVote(String phone, String nomeConcorrenteScelto){
Votante votante;
Partecipante concorrenteScelto;
votante = this.searchVotante(phone); //restituisce null se non è presente alcun votante con tale numero di telefono
if(votante == null){ //se non esiste ancora un votante con tale numero di telefono
votante = this.nuovoVotante(phone);
} else if(votante.getVoteCounter() >= 5){
System.out.println(phone + " NON PUO' VOTARE PIU' DI 5 VOLTE");
return;
}
concorrenteScelto = this.searchPartecipante(nomeConcorrenteScelto); //restituisce null se non è presente alcun partecipante con tale nome
if(concorrenteScelto != null){
concorrenteScelto.increaseVoteCounter();
votante.increaseVoteCounter();
System.out.println("Voto acquisito da " + votante.getPhone() + " a favore di " + concorrenteScelto.getName());
} else {
System.out.println("Nome concorrente non valido ("+nomeConcorrenteScelto+")");
}
}
private Votante searchVotante(String phone){ //cerca nell'ArrayList listaVotanti il votante con il numero di telefono in input e ne restituisce il riferimento
for (Votante votante : listaVotanti) {
if(votante.getPhone().equals(phone)){
return votante;
}
}
return null; //restituisce null se non esiste alcun votante con tale numero
}
private Partecipante searchPartecipante(String name){ //cerca nell'ArrayList listaPartecipanti il partecipante con il nome in input e ne restituisce il riferimento
for (Partecipante partecipante : listaPartecipanti) {
if(partecipante.getName().equals(name)){
return partecipante;
}
}
return null; //restituisce null se non esiste alcun partecipante con tale nome
}
public void printVotanti(){
System.out.println("VOTANTI:");
if(listaVotanti.isEmpty()){
System.out.println("Nessun votante registrato");
}
for (Votante votante : listaVotanti) {
System.out.printf("Phone: %10s\tNumeroVoti: %1d\n", votante.getPhone(), votante.getVoteCounter());
// oppure System.out.println(votante);
}
}
public void printPartecipanti(){
System.out.println("PARTECIPANTI:");
for (Partecipante partecipante : listaPartecipanti) {
System.out.printf("Nome Concorrente: %30s\tNumeroVoti: %6d\n", partecipante.getName(), partecipante.getVoteCounter());
// oppure System.out.println(partecipante);
}
}
public int totaleVotiRegistrati(){
int counter = 0;
for (Partecipante partecipante : listaPartecipanti) {
counter += partecipante.getVoteCounter();
}
return counter;
}
}