Java - średnia arytmetyczna z elementów tablicy
Mamy tablice z ocenami uczniów:
xxxxxxxxxx
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 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 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.
xxxxxxxxxx
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:
xxxxxxxxxx
4.0
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.
xxxxxxxxxx
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:
xxxxxxxxxx
4.0