2
respostas

[Dúvida] Como poderia implementar os dois <FOR> fora da classe principal?

for (int i = 0; i < 5000; i++) {
            minhaMusisca.reproduz();
        }

        for (int i = 0; i < 1000 ; i++) {
            minhaMusisca.curte();
        }
        
        for (int i = 0; i < 1000; i++) {
            meuPodcast.reproduz();
        }

        for (int i = 0; i < 500 ; i++) {
            meuPodcast.curte();
        }
2 respostas

Olá Everaldo, tudo bem?

Uma maneira de fazer isso seria criar métodos dentro das classes Musica e Podcast que encapsulam esses laços. Vou te mostrar como poderia ser feito:

  1. Na classe Musica, você poderia criar um método reproduzirVariasVezes(int vezes) e um método curtirVariasVezes(int vezes). Dentro desses métodos, você colocaria os laços for. Veja:

    public class Musica {
        //...código omitido
    
        public void reproduzirVariasVezes(int vezes) {
            for (int i = 0; i < vezes; i++) {
                this.reproduz();
            }
        }
    
        public void curtirVariasVezes(int vezes) {
            for (int i = 0; i < vezes; i++) {
                this.curte();
            }
        }
    }
    
  2. Você faria algo semelhante na classe Podcast:

    public class Podcast {
        //...código omitido
    
        public void reproduzirVariasVezes(int vezes) {
            for (int i = 0; i < vezes; i++) {
                this.reproduz();
            }
        }
    
        public void curtirVariasVezes(int vezes) {
            for (int i = 0; i < vezes; i++) {
                this.curte();
            }
        }
    }
    
  3. Agora, na classe Principal, em vez de usar os laços for, você chamaria esses novos métodos:

    public class Principal {
        public static void main(String[] args) {
            Musica minhaMusica = new Musica();
            minhaMusica.setTitulo("Forever");
            minhaMusica.setCantor("Kiss");
            minhaMusica.reproduzirVariasVezes(1000);
            minhaMusica.curtirVariasVezes(50);
    
            Podcast meuPodcast = new Podcast();
            meuPodcast.setTitulo("BolhaDev");
            meuPodcast.setApresentador("Marcos Mendes");
            meuPodcast.reproduzirVariasVezes(5000);
            meuPodcast.curtirVariasVezes(1000);
        }
    }
    

Lembre-se que essa é apenas uma das possíveis soluções e pode não ser perfeita dependendo do contexto do seu projeto

Espero que essa sugestão seja útil para você!

Boa sorte nos estudos!

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

Entendido! Obrigado Armano.

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