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

foreach

Boa tarde, fiz esse projeto a baixo e usei o foreach.

package br.com.alura;

import java.sql.Time;
import java.util.ArrayList;
import java.util.List;

public class TestaTime {
    public static void main(String[] args) {
        List<TimeDeFutebol> times = new ArrayList<TimeDeFutebol>();
        TimeDeFutebol time1 = new TimeDeFutebol("Corinthians", 40);
        TimeDeFutebol time2 = new TimeDeFutebol("Palmeiras", 38);
        TimeDeFutebol time3 = new TimeDeFutebol("São Paulo", 25);
        TimeDeFutebol time4 = new TimeDeFutebol("Santos", 40);
        TimeDeFutebol time5 = new TimeDeFutebol("Flamengo", 27);
        TimeDeFutebol time6 = new TimeDeFutebol("Gremio", 42);
        TimeDeFutebol time7 = new TimeDeFutebol("Botafogo", 68);
        TimeDeFutebol time8 = new TimeDeFutebol("Chapecoense", 10);
        TimeDeFutebol time9 = new TimeDeFutebol("Cruzeiro", 19);
        TimeDeFutebol time10 = new TimeDeFutebol("Atletico PR", 53);

        times.add(time1);
        times.add(time2);
        times.add(time3);
        times.add(time4);
        times.add(time5);
        times.add(time6);
        times.add(time7);
        times.add(time8);
        times.add(time9);
        times.add(time10);

        for (TimeDeFutebol time : times) {
            System.out.println(times);
        }

    }
}

Porém a saída foi do modo abaixo: Eu gostaria que fosse apenas um time de cada vez, fiz igual ao vídeo tutorial mas deu resultado diferente, o que pode ser?

[Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53] [Corinthians 40, Palmeiras 38, São Paulo 25, Santos 40, Flamengo 27, Gremio 42, Botafogo 68, Chapecoense 10, Cruzeiro 19, Atletico PR 53]

6 respostas

Fala Marca tranquilo? cara nao entendi muito a sua duvida, você queria que a sua saida do console fosse um time a cada linha?

solução!

Oi Marco! Da forma como você está fazendo, pra cada time da lista, ele está imprimindo a lista inteira pois seu código está assim: System.out.println(times);

O que você quer fazer é colocar System.out.println(time);

assim ele vai imprimir cada um dos times!

Abraços!

Ah agora eu entendi kkk, o erro provavelmente deve tar na seu forEach.

 for (TimeDeFutebol time : times) {
            System.out.println(times);
        }

Na sua saida system.out.println você ta chamando times correto? pois a instancia do seu for é time tenta trocar assim.

 for (TimeDeFutebol time : times) {
            System.out.println(time); // coloca time e não times, resolveu o problema?
        }

Valew galera, era isso mesmo, foi por detalhe. Abraço

Boa mano, bons estudos abraços!!

Boa Marco! Você pode marcar uma das respostas como solução, por favor?

Abraços!