Java - średnia arytmetyczna z elementów tablicy
Zadanie:
Mamy tablice z ocenami uczniów:
double[] ocenyUczniow = {5, 3, 4};
Naszym zadaniem jest obliczenie średniej arytmetycznej w naszej 3 osobowej klasie uczniów.
Po obliczeniu średniej ocen, wypisz średnią do konsoli.
Rozwiązanie:
Rozwiązanie na pierwszy rzut oka jest bardzo proste, ale może sprawić dość dużo problemów początkującemu programiście. Dlatego polceam robić dużo prostych przykładów na początku naszej kariery programistycznej :)
Rozwiązanie number 1.
Rozwiązanie problemu polega na zsumowaniu wszystkich ocen uczniów do jednej zmeinnej 'suma'. Posługujemy się typem double zamiast int, dlatego, że możemy wstawić oceny zmienno przecinkowe np: 3.5, 4.5 etc. Aby obliczyć średnią arytmetyczną, dzielimy sumę ocen przez ilość ocen uczniów. Na koniec wypisujemy otrzymaną średnią do konsoli, w naszym zadanku średnia ocen to 4.0 :). Całkiem nieźle.
public class OblicznieSredniejOcen {
public static void main(String[] args) {
double[] ocenyUczniow = {5, 3, 4};
double suma = 0.0;
int iloscOcenUczniow = ocenyUczniow.length;
for (int i = 0; i < ocenyUczniow.length; i++) {
suma += ocenyUczniow[i];
}
// dzielimy zsumowaną tablicę przez ilość ocen uczniów w tablicy
double sredniaOcenUczniow = suma / iloscOcenUczniow;
System.out.println(sredniaOcenUczniow); // 4.0
}
}
Wynik:
4.0
Rozwiązanie number 2.
W tym rozwiązaniu wykorzystamy sobie pomocniczą metodę do obliczania średniej. Program jest taki sam jak w rozwiązaniu numer 1, tylko tutaj dodaliśmy sobie metodę, aby kod wyglądał dużo logiczniej. Przy okazji przećwiczymy sobie umiejętność posługiwania się metodami.
public class OblicznieSredniejOcenWersja2 {
public static void main(String[] args) {
double[] ocenyUczniow = {5, 3, 4};
// wywołujemy metodę oblicz średnią
// i przekazujemy jej tablice liczb jako argument
// a jako rezultat nasza metodka zwraca nam jedną liczbę - średnią
double sredniaOcenUczniow = obliczSredniaOcenUczniow(liczby);
System.out.println(sredniaOcenUczniow); // 4.0
}
static double obliczSrednia(double[] ocenyUczniow) {
double suma = 0.0;
int iloscOcenUczniow = ocenyUczniow.length;
for (int i = 0; i < ocenyUczniow.length; i++) {
suma += ocenyUczniow[i];
}
// dzielimy zsumowaną tablicę przez ilość ocen uczniów w tablicy
return suma / iloscOcenUczniow;
}
}
Wynik:
4.0