Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Consigo criar uma lista de inteiros?

Na resposta foi criada uma lista de tipo String, eu não poderia criar uma lista de inteiros e armazenar o valor do usuário nessa lista? Assim eu não precisaria converter os valores da lista ao usar o if.

String[] lista = input.nextLine().split(" ");

Como ficaria o exercício armazenando os valores diretamente em uma lista de inteiros?

O meu exercicio ficou assim:

import java.util.Scanner;

public class MaiorNumDaLista {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Digite cada numero separando por um espaço: ");
        String[] lista = input.nextLine().split(" ");
        int maior = 0;

        for (int i = 0; i < lista.length; i++) {
            if (Integer.parseInt(lista[i]) > maior) {
                maior = Integer.parseInt(lista[i]);
            }
        }
        System.out.println("O maior número é: " + maior);

    }
}
1 resposta
solução!

Olá, Yasmin! Como vai?

Você pode, sim, criar uma lista de inteiros para armazenar os valores diretamente, o que evitaria a necessidade de converter os valores de String para Integer dentro do laço. Para isso, você pode utilizar uma lista da classe ArrayList do Java, que permite armazenar inteiros. Aqui está como você pode modificar seu código para usar uma lista de inteiros:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MaiorNumDaLista {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Digite cada número separando por um espaço: ");
        String[] listaString = input.nextLine().split(" ");
        
        List<Integer> listaInteiros = new ArrayList<>();
        for (String numStr : listaString) {
            listaInteiros.add(Integer.parseInt(numStr));
        }

        int maior = listaInteiros.get(0);
        for (int num : listaInteiros) {
            if (num > maior) {
                maior = num;
            }
        }
        
        System.out.println("O maior número é: " + maior);
    }
}

Neste exemplo, primeiro você lê a entrada como uma String e a divide em partes, como antes. Depois, você percorre o array de Strings, converte cada elemento para um inteiro e o adiciona a uma lista de inteiros. Em seguida, você pode percorrer essa lista de inteiros para encontrar o maior número, sem precisar fazer conversões dentro do loop for.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.