import java.util.Scanner;
public class Estadistica {
private static String[] logins;
private static Float[][] horas;
public static void leerDatos() {
Scanner scanner = new Scanner(System.in);
System.out.println("ingrese cantidad de alumnos a ingresar:");
int cantidadAlumnos = scanner.nextInt();
logins = new String[cantidadAlumnos];
horas = new Float[cantidadAlumnos][5];
for (int i = 0; i < logins.length; i++) {
System.out.println("Ingrese login alumno: ");
logins[i] = scanner.next();
System.out.println("Ingrese horas lunes para " + logins[i]);
horas[i][0] = scanner.nextFloat();
System.out.println("Ingrese horas martes para " + logins[i]);
horas[i][1] = scanner.nextFloat();
System.out.println("Ingrese horas miercoles para " + logins[i]);
horas[i][2] = scanner.nextFloat();
System.out.println("Ingrese horas jueves para " + logins[i]);
horas[i][3] = scanner.nextFloat();
System.out.println("Ingrese horas viernes para " + logins[i]);
horas[i][4] = scanner.nextFloat();
}
}
public static Float[] getTotalHoras(Float[][] horas) {
Float[] horasTotales = new Float[horas.length];
for (int i = 0; i < horas.length; i++) {
float h = 0;
for (int x = 0; x < horas[i].length; x++) {
h += horas[i][x];
}
horasTotales[i] = h;
}
return horasTotales;
}
public static int cantidadMayoresIgualesA(Float[][] horas, int indice, float tiempoMinimo) {
int contador = 0;
for (int x = 0; x < horas[indice].length; x++) {
if (horas[indice][x] >= tiempoMinimo) {
contador++;
}
}
return contador;
}
public static Float[] getPromedios(Float[][] horas) {
Float[] promedios = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
for (Float[] hora : horas) {
for (int x = 0; x < 5; x++) {
promedios[x] += hora[x];
}
}
for (int i = 0; i < promedios.length; i++) {
promedios[i] = promedios[i] / horas.length;
}
return promedios;
}
public static String dibujaTabla(String[] logins, Float[][] horas, Float[] promedios) {
String tabla = "Login\tL\tM\tMM\tJ\tV\tTotal\n";
Float[] totalHoras = getTotalHoras(horas);
for (int i = 0; i < logins.length; i++) {
tabla += logins[i] + "\t";
for (int x = 0; x < horas[i].length; x++) {
tabla += horas[i][x] + "\t";
}
tabla += totalHoras[i] + "\n";
}
tabla += "PROM:\t";
for (Float promedio : promedios) {
tabla += promedio + "\t";
}
double porcentaje = 0;
for(int i=0;i<horas.length;i++){
if(cantidadMayoresIgualesA(horas, i, 2f)!=5){
porcentaje++;
}
}
porcentaje *= 100 / logins.length;
tabla += "\nPorcentaje:\t"+porcentaje + "%";
return tabla;
}
public static String[] getLogins() {
return logins;
}
public static Float[][] getHoras() {
return horas;
}
public static void main(String[] args) {
leerDatos();
String tabla = dibujaTabla(getLogins(), getHoras(),getPromedios(getHoras()));
System.out.println(tabla);
}
}