Adicione os números 100, 20, 200, 30, 80, 40, 100, 200 a um List,
percorra todos os elementos utlizando (for-each) e calcule a média.
nossa resolução foi + ou - assim:
import java.util.ArrayList;
import java.util.List;
public class Coll02 {
public static void main(String[] args) {
Coll02 col = new Coll02();
col.Coll02();
}
public void Coll02() {
List arrayList = new ArrayList();
arrayList.add(100);
arrayList.add(20);
arrayList.add(200);
arrayList.add(30);
arrayList.add(80);
arrayList.add(40);
arrayList.add(100);
arrayList.add(200);
}
}
consegui adicionar os elementos, porém não estou entendendo o For Each. minha pergunta é:
Como posso percorrer esses valores com este “for”, e como posso calcular a media deles…
E como seria se fosse com o Iterator…
o for each a sintaxe é a seguinte
for(Objeto o:lista){
o.metodo();
}
no teu caso seria algo do tipo
List<Integer> list = ArrayList<Integer>();
list.add(100);
//por aí vai
for (Integer i : list) {
int i2 = i.intValue();
//logica do calculo da media
}
Lembre que para o cálculo da média, você deve saber a quantidade de elementos e a soma total dos mesmos você já está com a faca e o queijo!!!
Exemplo com iterator
List arrayList = new ArrayList();
arrayList.add(10);
arrayList.add(55);
Iterator it = arrayList.iterator();
int soma = 0;
while (it.hasNext()) {
soma += (Integer) it.next();
}
System.out.println("Média = " + (soma/arrayList.size()));
Gezuis… muda o nome desse seu metodo… coloca algo que descreva o que o seu método faz e que de preferencia seja um verbo…
e metodo se escreve com notação hungara(ou alguma outra nacionalidade que nao lembro), a primeira letra deve ser minúscula…
e voce poderia fazer um metodo que preenche o arrayList e o retornao mesmo…
aí vc passaria ele de parâmetro para o metodo que calcula a media…
ou fazer td num método só…
eu prefiro do primeiro jeito…