-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathResultadosAtleti.java
More file actions
162 lines (143 loc) · 5.73 KB
/
ResultadosAtleti.java
File metadata and controls
162 lines (143 loc) · 5.73 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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
import java.util.Scanner;
public class ResultadosAtleti {
/**
* Representa un partido con rival y goles a favor/en contra.
*/
static class Partido {
private final String rival;
private final int golesMarcados; // a favor
private final int golesRecibidos; // en contra
/**
* Crea un nuevo partido.
*
* @param rival nombre del equipo rival
* @param golesMarcados goles a favor del Atlético
* @param golesRecibidos goles en contra del Atlético
*/
public Partido(String rival, int golesMarcados, int golesRecibidos) {
this.rival = rival;
this.golesMarcados = golesMarcados;
this.golesRecibidos = golesRecibidos;
}
/** @return rival */
public String getRival() { return rival; }
/** @return goles a favor */
public int getGolesMarcados() { return golesMarcados; }
/** @return goles en contra */
public int getGolesRecibidos() { return golesRecibidos; }
@Override
public String toString() {
return String.format("vs %s (%d-%d)", rival, golesMarcados, golesRecibidos);
}
}
// ---------------------------------------------------------------------
// MÉTODOS A IMPLEMENTAR (como en el ejercicio de notas)
// ---------------------------------------------------------------------
/**
* Calcula la media aritmética de los goles MARCADOS por partido.
*
* @param temporada array de partidos (no nulo ni vacío)
* @return media de goles marcados
*/
public static double mediaGolesMarcados(Partido[] temporada) {
// 1. Inicializa una variable suma a 0.
double suma = 0;
// 2. Recorre el array con un for-each y suma getGolesMarcados().
for(Partido p : temporada) {
suma += p.getGolesMarcados();
}
// 3. Devuelve suma / temporada.length (como double).
return suma / temporada.length;
}
/**
* Devuelve el partido con MÁS goles marcados.
*
* @param temporada array de partidos (no nulo ni vacío)
* @return partido con el máximo de goles a favor
*/
public static Partido partidoMasGolesMarcados(Partido[] temporada) {
// TODO:
// 1. Crea una variable Partido mejor = temporada[0];
Partido mejor = temporada[0];
// 2. Recorre el array desde el índice 1.
for (int i = 1; i < temporada.length; i++) {
if (temporada[i].getGolesMarcados() > mejor.getGolesMarcados()) {
mejor = temporada[i];
}
return mejor;
}
// 3. Si temporada[i].getGolesMarcados() > mejor.getGolesMarcados(), actualiza mejor.
// 4. Devuelve mejor.
return null;
}
/**
* Devuelve el partido con MENOS goles marcados.
*
* @param temporada array de partidos (no nulo ni vacío)
* @return partido con el mínimo de goles a favor
*/
public static Partido partidoMenosGolesMarcados(Partido[] temporada) {
// TODO:
// 1. Crea una variable Partido peor = temporada[0];
Partido peor = temporada[0];
// 2. Recorre el array desde el índice 1.
for (int i = 1; i < temporada.length; i++) {
if (temporada[i].getGolesMarcados() < peor.getGolesMarcados() ) {
peor = temporada[i];
return peor;
}
}
// 3. Si temporada[i].getGolesMarcados() < peor.getGolesMarcados(), actualiza peor.
// 4. Devuelve peor.
return null;
}
// ---------------------------------------------------------------------
// EXTRAS (opcional, por si quieres pedir suma de goles)
// ---------------------------------------------------------------------
/**
* Suma total de goles marcados en la temporada.
*/
public static int totalGolesMarcados(Partido[] temporada) {
// TODO (opcional):
// 1. Acumula getGolesMarcados() en un int y devuelve.
return 0;
}
/**
* Suma total de goles recibidos en la temporada.
*/
public static int totalGolesRecibidos(Partido[] temporada) {
// TODO (opcional):
// 1. Acumula getGolesRecibidos() en un int y devuelve.
return 0;
}
// ---------------------------------------------------------------------
// MAIN
// ---------------------------------------------------------------------
/**
* Método principal: crea una lista de partidos de ejemplo y usa los métodos.
*/
public static void main(String[] args) {
// 1️⃣ Ejemplo con datos fijos (puedes cambiarlos o leerlos con Scanner)
Partido[] temporada = {
new Partido("Sevilla", 3, 1),
new Partido("Real Sociedad", 2, 1),
new Partido("Valencia", 0, 0),
new Partido("Barcelona", 2, 3),
new Partido("Real Madrid", 0, 5),
new Partido("Rayo Vallecano", 4, 2)
};
// 2️⃣ Llama a los métodos y muestra resultados
double media = mediaGolesMarcados(temporada);
Partido mas = partidoMasGolesMarcados(temporada);
Partido menos = partidoMenosGolesMarcados(temporada);
//
// // Extras:
int marcados = totalGolesMarcados(temporada);
int recibidos = totalGolesRecibidos(temporada);
// 3️⃣ Muestra por pantalla (quita los comentarios al implementar)
System.out.printf("Media de goles marcados: %.2f%n", media);
System.out.printf("Partido con MÁS goles marcados: %s%n", mas);
System.out.printf("Partido con MENOS goles marcados: %s%n", menos);
System.out.printf("TOTAL goles marcados: %d | TOTAL goles recibidos: %d%n", marcados, recibidos);
}
}