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

[Minha Solução] Desafio Loop Foreach

Crie um ArrayList de strings e utilize um loop foreach para percorrer e imprimir cada elemento da lista.


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

public class Produto {
    private String nomeProduto;
    private String donoProduto;

    ArrayList<String> nome = new ArrayList<>();
    ArrayList<String> dono = new ArrayList<>();
    Scanner sc = new Scanner(System.in);

    public Produto(String nomeProduto, String donoProduto) {
        this.nomeProduto = nomeProduto;
        this.donoProduto = donoProduto;
    }

    @Override
    public String toString() {
        return "Nome do Produto: " + this.nomeProduto.toString() +
                " - " + "Dono do Produto: " + this.donoProduto.toString();
    }

    public void entrarDados() {
        int selecao = 1;
        do {
            System.out.println("==== ENTRADA DADOS =====");
            System.out.println("Insira o nome do Produto: ");
            this.setNomeProduto(sc.next());
            nome.add(this.getNomeProduto());
            System.out.println("Insira o nome do Dono do Produto: ");
            this.setDonoProduto(sc.next());
            dono.add(this.getDonoProduto());
            System.out.println("Deseja continuar o cadastro? ");
            System.out.println("0 - SAIR");
            System.out.println("1 - Continuar");
            selecao = sc.nextInt();
            if (selecao == 0) {
                System.out.println("Saindo do Programa...");
                System.out.println("\nListando as informações: ");
                for (int i = 0; i < nome.size(); i++) {
                    System.out.println("===================================================");
                    System.out.println(i + " - " + "Nome do Produto: " + nome.get(i).toString() +
                            " - " + "Dono do Produto: " + dono.get(i).toString());
                    System.out.println("===================================================");
                }

                System.out.println("=============== QUANTIDADE =======================");
                System.out.println("Quantidade de Produtos cadastrados: " + nome.size());
                System.out.println("Quantidade de Usuários Cadastrados: " + dono.size());
                System.out.println("====================================================");

                System.out.println("=============== PRIMEIRO / ULTIMO ====================");
                System.out.println("Primeiro produto cadastrado: " + nome.get(0).toString());
                System.out.println("Último produto cadastrado: " + nome.get((nome.size() - 1)));
                System.out.println("====================================================");
            }
        } while(selecao == 1);
    }

    public void impressaoDesafio() {
        System.out.println("===== IMPRESSÃO FOR EACH =====");
        for (String z : nome) {
            System.out.println("Nome do Produto: " + " - " + nome.toString() +
                    " - " + "Dono Produto: " + dono.toString());
        }
    }

    public String getNomeProduto() {
        return nomeProduto;
    }

    public void setNomeProduto(String nomeProduto) {
        this.nomeProduto = nomeProduto;
    }

    public String getDonoProduto() {
        return donoProduto;
    }

    public void setDonoProduto(String donoProduto) {
        this.donoProduto = donoProduto;
    }
}

public class Principal {
    public static void main(String[] args) {
        Produto produto = new Produto("","");
        produto.entrarDados();
        produto.impressaoDesafio();
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade


Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá, Carlos! Tudo bem?

Obrigado por compartilhar sua solução para o desafio! Achei excelente o uso do ArrayList e do loop foreach para imprimir os produtos e donos. O seu código está bem estruturado e a função de entrarDados está bastante completa.

Continue com o ótimo trabalho!