Acá tenes otra forma de hacerlo.
Tu forma es bastante funcional, pero si quisieras hacer algo con esos promedios desde otra parte del código, te verías limitado.
Solo debes de agregar un ArrayList y hacer un cambio en el for:
De esta forma, tendrías el promedio de cada linea y podrías hacer algunas cosas con esos valores, como por ejemplo obtener el promedio total:
Si quieres probar este código, agrégalo al final del main.
Ready, espero que te haya servido, y hazle caso a Gus, si tienes alguna duda al respecto, escríbela aquí, aumentara las probabilidades de recibir una respuesta y puede que también le sirva a alguien mas.
Saludos!
Tu forma es bastante funcional, pero si quisieras hacer algo con esos promedios desde otra parte del código, te verías limitado.
Solo debes de agregar un ArrayList y hacer un cambio en el for:
Código (java) [Seleccionar]
import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;
public class ImprimirPromedios {
public static void main(String[] args) {
File file = new File ("miarchivo.txt");
Scanner lector = null;
try {
lector = new Scanner(file);
}
catch (Exception ex) {
System.out.println("Error: "+ex.getMessage());
}
ArrayList<Integer> promedios = new ArrayList<Integer>();
int suma=0;
int cant=0;
/*
Sumo todos los numeros de todas las lineas y despues la divido por la cantidad de numeros
*/
while(lector.hasNext()) {
//Leo una linea completa del archivo
String numerosDelArchivo = lector.nextLine();
//Separo los numeros y los guardo en un array de String
String[] numerosSeparados = numerosDelArchivo.split(",");
//Sumo todos los numeros del array y los guardo en la variable suma
for(int i = 0; i < numerosSeparados.length; i++) {
suma += Integer.parseInt(numerosSeparados[i]);
cant++;
}
promedios.add(suma/cant);
suma = 0;
cant = 0;
}
for(int i = 0; i < promedios.size(); i++) {
System.out.println(i+1+") promedio "+i+1+" es: "+promedios.get(i));
}
lector.close();
}
}
De esta forma, tendrías el promedio de cada linea y podrías hacer algunas cosas con esos valores, como por ejemplo obtener el promedio total:
Código (java) [Seleccionar]
int promedioTotal = 0;
for(int i = 0; i < promedios.size(); i++) {
promedioTotal += promedios.get(i);
}
System.out.println("El promedio total de lineas es: "+promedioTotal/promedios.size());
Si quieres probar este código, agrégalo al final del main.
Ready, espero que te haya servido, y hazle caso a Gus, si tienes alguna duda al respecto, escríbela aquí, aumentara las probabilidades de recibir una respuesta y puede que también le sirva a alguien mas.
Saludos!