Crie um programa que permita ao usuário inserir uma série de inteiros em um ArrayList, calcular a soma, a média, o valor máximo e o valor mínimo dos números inseridos.

Passo 1

Beleza, vamos resolver esse exercício juntos! A gente precisa criar um programa que permite ao usuário inserir uma série de números inteiros em um ArrayList e, depois, calcular a soma, a média, o valor máximo e o valor mínimo desses números. Para isso, vamos usar conceitos de coleções em Java, especificamente o ArrayList, e também vamos manipular dados para realizar os cálculos necessários.

Passo 2

Primeiro, vamos importar as classes que vamos precisar. O ArrayList está na biblioteca java.util, então precisamos importá-la. Também vamos usar a classe Scanner para ler a entrada do usuário.
import java.util.ArrayList;
import java.util.Scanner;

Passo 3

Agora, vamos criar a classe principal e o método main, onde vamos escrever todo o código.
public class CalculadoraArrayList {
    public static void main(String[] args) {
        // Código vai aqui
    }
}

Passo 4

Dentro do método main, vamos criar um objeto Scanner para ler os dados que o usuário vai inserir e um ArrayList para armazenar esses números inteiros.
Scanner scanner = new Scanner(System.in);
ArrayList<Integer> numeros = new ArrayList<>();

Passo 5

Vamos pedir para o usuário inserir os números. Vamos usar um loop para permitir que ele insira vários valores até decidir parar. Por exemplo, vamos pedir para ele digitar números e digitar ‘sair’ para encerrar.
while(true) {
    System.out.print("Digite um número inteiro (ou 'sair' para finalizar): ");
    String entrada = scanner.nextLine();
    if(entrada.equalsIgnoreCase("sair")) {
        break;
    }
    try {
        int numero = Integer.parseInt(entrada);
        numeros.add(numero);
    } catch(NumberFormatException e) {
        System.out.println("Entrada inválida. Por favor, digite um número inteiro.");
    }
}

Passo 6

Agora que temos os números armazenados no ArrayList, vamos calcular a soma. Para isso, vamos percorrer a lista e somar cada elemento.
int soma = 0;
for(int num : numeros) {
    soma += num;
}

Passo 7

Com a soma calculada, podemos encontrar a média dividindo a soma pelo número de elementos. É importante converter o resultado para um número decimal para obter uma média precisa.
double media = (double) soma / numeros.size();

Passo 8

Para encontrar o valor máximo e mínimo, vamos iniciar com o primeiro elemento da lista e comparar com os demais.
int max = numeros.get(0);
int min = numeros.get(0);

for(int num : numeros) {
    if(num > max) {
        max = num;
    }
    if(num < min) {
        min = num;
    }
}

Passo 9

Finalmente, vamos exibir os resultados para o usuário.
System.out.println("Soma: " + soma);
System.out.println("Média: " + media);
System.out.println("Valor Máximo: " + max);
System.out.println("Valor Mínimo: " + min);

Resposta

Pronto! Com esse código, o usuário pode inserir uma série de números inteiros, e o programa calculará a soma, a média, o valor máximo e o valor mínimo desses números. Aqui está o código completo para referência:
import java.util.ArrayList;
import java.util.Scanner;

public class CalculadoraArrayList {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<Integer> numeros = new ArrayList<>();

        while(true) {
            System.out.print("Digite um número inteiro (ou 'sair' para finalizar): ");
            String entrada = scanner.nextLine();
            if(entrada.equalsIgnoreCase("sair")) {
                break;
            }
            try {
                int numero = Integer.parseInt(entrada);
                numeros.add(numero);
            } catch(NumberFormatException e) {
                System.out.println("Entrada inválida. Por favor, digite um número inteiro.");
            }
        }

        if(numeros.size() == 0) {
            System.out.println("Nenhum número foi inserido.");
            return;
        }

        int soma = 0;
        for(int num : numeros) {
            soma += num;
        }

        double media = (double) soma / numeros.size();

        int max = numeros.get(0);
        int min = numeros.get(0);

        for(int num : numeros) {
            if(num > max) {
                max = num;
            }
            if(num < min) {
                min = num;
            }
        }

        System.out.println("Soma: " + soma);
        System.out.println("Média: " + media);
        System.out.println("Valor Máximo: " + max);
        System.out.println("Valor Mínimo: " + min);
    }
}

Exercícios relacionados