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):

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


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