Gyakorlati alapok
Ömlesztett számok átlaga
Az előző, az Ömlesztett számok összege című fejezet már tartalmazza a fő kódimplementációs vonalat. A funkcionalitás különválasztása miatt az adatbekérő függvényhez már hozzá sem kell nyúlnunk (static ArrayList<Integer> bekeres()), egyedül az összegző függvényt nevezzük át (static double atlag(ArrayList<Integer> tomblista)) és alakítjuk át az átlagolás kiszámításához (illetve a main()-ben is szükséges kis igazítás).
Vigyáznunk kell a típusegyezésekre, hiszen átlagszámításnál már lehet nem egész számú végeredményünk is, ezért érdemes az átlagszámító változók mindegyikét double típusra változtatnunk (másként csonkolódik a végeredmény):
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
static ArrayList<Integer> bekeres(){
Scanner in = new Scanner(System.in);
int szam = 0;
ArrayList<Integer> tomblista = new ArrayList<Integer>();
do{
System.out.print("Adjon meg egy
számot vagy kérje az összeget 0-val!\n");
String szamString = in.nextLine();
szam = Integer.parseInt(szamString);
tomblista.add(szam);
}while (szam != 0);
return tomblista;
}
static double atlag(ArrayList<Integer> tomblista){
double eredmeny = 0;
double atlag = 0;
double szamlalo = 0;
for (int i = 0; i < tomblista.size(); i++) {
eredmeny += tomblista.get(i);
szamlalo++;
}
atlag = eredmeny / szamlalo;
return atlag;
}
public static void main(String[] args) {
ArrayList<Integer> tomblista = new ArrayList<Integer>();
tomblista = bekeres();
double atlag = atlag(tomblista);
System.out. println("Az átlag: " + atlag);
}
}
Végeredmény:
Adjon meg egy számot vagy kérje az összeget 0-val!
1
Adjon meg egy számot vagy kérje az összeget 0-val!
2
Adjon meg egy számot vagy kérje az összeget 0-val!
3
Adjon meg egy számot vagy kérje az összeget 0-val!
4
Adjon meg egy számot vagy kérje az összeget 0-val!
5
Adjon meg egy számot vagy kérje az összeget 0-val!
6
Adjon meg egy számot vagy kérje az összeget 0-val!
7
Adjon meg egy számot vagy kérje az összeget 0-val!
8
Adjon meg egy számot vagy kérje az összeget 0-val!
9
Adjon meg egy számot vagy kérje az összeget 0-val!
10
Adjon meg egy számot vagy kérje az összeget 0-val!
11
Adjon meg egy számot vagy kérje az összeget 0-val!
0
Az átlag: 5.5