Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

resultado do codigo ta em lopping

copiei o código do professor na primeira aula, e quando executo entra em looping.

package br.com.alura;

import java.util.ArrayList;
import java.util.Collections;

public class TestandoListas {

    public static void main(String[] args) {
        String aula1 = "Conhencendo mais de listas";
        String aula2 = "Modelando a classe Aula";
        String aula3 = "trabalhando com Cursos e Sets";

        ArrayList<String> aulas = new ArrayList<>();
        aulas.add(aula1);
        aulas.add(aula2);
        aulas.add(aula3);

        System.out.println(aulas);
        aulas.remove(0);
        System.out.println(aulas);

        for (String aula : aulas) {
            System.out.println("Aula: " + aula);
        }

        String primeiraAula = aulas.get(0);
        System.out.println("A primeira aula é "+ primeiraAula);

        for (int i = 0; i < aulas.size(); i++) {
            System.out.println("aula :" + aulas.get(i));

            System.out.println(aulas.size());

            aulas.forEach(aula -> {System.out.println("Percorrendo: " + aula);});

            aulas.add("Aumentando nosso conhecimento");
            System.out.println(aulas);

            Collections.sort(aulas);
            System.out.println("depois de ordenado;");
            System.out.println(aulas);



        }
    }
}

Não achei o que fiz de errado

no console sai isso :

Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Modelando a classe Aula, trabalhando com Cursos e Sets] aula :Modelando a classe Aula 2888 Percorrendo: Aumentando nosso conhecimento Percorrendo: Aumentando nosso conhecimento [Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, Aumentando nosso conhecimento, ........

2 respostas
solução!

Opa Felipe!

O loop infinito está acontecendo por causa do seu for, toda vez é adicionado um item na lista, por isso ocorre loop infinito. Não somente como ocorre o loop, mas também que repete todas as operações que está dentro do for

Esse cara aqui -> aulas.add("Aumentando nosso conhecimento");

        for (int i = 0; i < aulas.size(); i++) {
            System.out.println("aula :" + aulas.get(i));

            System.out.println(aulas.size());

            aulas.forEach(aula -> {System.out.println("Percorrendo: " + aula);});

            aulas.add("Aumentando nosso conhecimento");
            System.out.println(aulas);

            Collections.sort(aulas);
            System.out.println("depois de ordenado;");
            System.out.println(aulas);
        }

Uma sugestão de solução seria essa:

        for (String aula : aulas) {
            System.out.println("aula :" + aula);
        }

        System.out.println(aulas.size());

        aulas.forEach(aula -> System.out.println("Percorrendo: " + aula));

        aulas.add("Aumentando nosso conhecimento");
        System.out.println(aulas);

        Collections.sort(aulas);
        System.out.println("depois de ordenado;");
        System.out.println(aulas);

Obrigado querido, entendi!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software