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

Crie a seguinte hierarquia de classes:
  • Uma interface para representar qualquer forma geométrica, definindo métodos para cálculo do perímetro e cálculo da área da forma;
  • Uma classe abstrata para representar quadriláteros. Seu construtor deve receber os tamanhos dos 4 lados e o método de cálculo do perímetro já pode ser implementado;
  • Classes para representar retângulos e quadrados. A primeira deve receber o tamanho da base e da altura no construtor, enquanto a segunda deve receber apenas o tamanho do lado;
  • Uma classe para representar um círculo. Seu construtor deve receber o tamanho do raio.
    No programa principal, pergunte ao usuário quantas formas ele deseja criar. Em seguida, para cada forma, pergunte se deseja criar um quadrado, um retângulo ou um círculo, solicitando os dados necessários para criar a forma. Finalmente, imprima: (a) os dados (lados ou raio); (b) os perímetros; e © as áreas de todas as formas.
Quais são os modificadores de acesso do java
[classe abstrata, herança, sobrescrita, polimorfismo] Crie uma hierarquia de classes para representar os diferentes tipos de funcionários de um escritório que tem os seguintes cargos: gerente, assistente, vendedor. Escreva uma classe base abstrata chamada Funcionario que declara um método abstrato:

public double calculaSalario()

Esta classe também deve definir os seguintes atributos: nome (tipo String), matricula (tipo String) e salario_base (tipo double). Use encapsulamento e forneça um construtor que recebe os valores correspondentes a serem armazenados nos respectivos atributos. Esta classe abstrata deverá ser estendida pelas outras classes representativas dos tipos de funcionários, portanto devem ser escritas as classes Gerente, Assistente e Vendedor. Em cada classe deve-se sobrescrever o método calculaSalario de forma que cálculo do salário é feito assim: O gerente recebe duas vezes o salário_base, o assistente recebe o salário_base e o vendedor
recebe o salário_base mais uma comissão definida no construtor de sua classe. Crie uma classe Teste com um método main que cria um objeto de cada tipo e os armazena em uma lista e depois calcula a folha salarial dos três funcionários e imprime o valor total. Indique quais conceitos de POO você usou e como foi usado.
Crie uma classe Produto com atributos de nome e preço. Escreva um programa que permita adicionar produtos a uma ArrayList, pesquisar um produto pelo nome e excluir um produto pelo nome.