1
resposta

[Projeto] desafio plataforma de áudio.

package br.com.alura.screenmatch.modelos;

public class Audio {
    private String titulo;
    private double duracao;
    private int totalDeReproducoes;// Dentro do metodo para contagem sem opção de set diretamente
    private int curtidas;// Dentro do metodo para contagem sem opção de set diretamente
    private int classificacao;

    public void curtir(String resposta) {
        if (resposta.equalsIgnoreCase("sim")) {
            System.out.println("Curtida registrada!");
            curtidas++;
        } else {
            System.out.println("Curtida não registrada.");
        }
    }

    public void reproduzir(String resposta) {
        if (resposta.equalsIgnoreCase("sim")) {
            System.out.println("Reproduzindo título");
            System.out.println(titulo);
            System.out.println(duracao + " minutos");
            totalDeReproducoes++;

        } else {
            System.out.println("Até a próxima...");
        }
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public double getDuracao() {
        return duracao;
    }

    public void setDuracao(double duracao) {
        this.duracao = duracao;
    }

    public int getCurtidas() {
        return curtidas;
    }

    public int getClassificacao() {
        return classificacao;
    }

    public void setClassificacao(int classificacao) {
        this.classificacao = classificacao;
    }

    public int getTotalDeReproducoes() {
        return totalDeReproducoes;
    }
}
import br.com.alura.screenmatch.modelos.Audio;

import java.util.Scanner;

public class Principal {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);
        Audio audio1 = new Audio();
        audio1.setTitulo("The Trooper");
        audio1.setDuracao(4.23);
        audio1.setClassificacao(10);

        System.out.println("Deseja reproduzir essa música? Sim/Não");
        String opcao = leitura.nextLine();
        audio1.reproduzir(opcao);

        System.out.println("Você curtiu Sim/Não");
        String opcao2 = leitura.nextLine();
        audio1.curtir(opcao2);

        System.out.println("Total de curtidas: " + audio1.getCurtidas());

    }
}
1 resposta

Oi, Smalley! Como vai?

Gostei de como você estruturou as interações de curtidas e reproduções no seu projeto. A lógica está clara e direta, o que facilita a leitura e o entendimento do código.

Você pode explorar o uso de valores booleanos para simplificar a entrada do usuário. Isso torna o código mais enxuto e evita possíveis erros de digitação como "sim" ou "Sim". Veja este exemplo:

public void curtir(boolean resposta) {
    if (resposta) {
        System.out.println("Curtida registrada!");
        curtidas++;
    } else {
        System.out.println("Curtida não registrada.");
    }
}

Com isso, você pode alterar a forma de capturar a entrada:

System.out.println("Você curtiu? (true/false)");
boolean opcao2 = leitura.nextBoolean();
audio1.curtir(opcao2);

Essa abordagem reduz a chance de erros e deixa o código mais robusto.

Bons estudos!