Bom dia aí pessoal, então, como o título já diz o problema é o seguinte, estou dando uma olhada em List agora, e o problema é: "Faça um programa que permita o usuário entre um conjunto de números inteiros (quantidade não é conhecida a priori) e imprima a soma e a média desses números." isso eu fiz, mas o grande problema foram os espaços, quando eu entro o primeiro inteiro, parece que ele aguarda até que eu entre um novo inteiro para aí sim entrar no loop independente do número de "enters" que eu pressione, sendo que a cada enter ele pula uma linha na entrada de dados.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class Lista7 {
public static void main(String[] args) {
List <Integer> lista = new ArrayList <Integer>();
Scanner input = new Scanner(System.in);
Integer number;
System.out.print("Digite um inteiro (digite um número para continuar ou s para sair): ");
number = input.nextInt();
lista.add(number);
while(input.hasNextInt());
{
System.out.print("Digite um inteiro (digite um número para continuar ou s para sair): ");
number = input.nextInt();
lista.add(number);
}
Media(lista);
}
public static void Media(List <Integer> l){
Iterator <Integer> iterator = l.iterator();
int count = 0;
int soma = 0;
while(iterator.hasNext())
{
soma += iterator.next();
count++;
}
System.out.printf("Soma: %d\tMédia: %d\n",soma, soma/count);
}
}
Eu sei que o negócio do s não é o mais correto, o melhor seria lançar uma exceção coisa e talz ou outra coisa qualquer...mas o foco é List por enquanto, então coloquei o s para sair só pra ficar "bonitinho" ueheuhuhe...Além disso, eu também já tentei usar no loop dentro da main do...while(input.hasNextInt()); com as devidas e pequenas alterações mas deu no mesmo.
