1
resposta

[Projeto] VENDA DE PRODUTO

package classes;

public class Venda {
    public String nomeProduto;
    public int estoqueProduto;

    public Venda(String nomeProduto, int estoqueProduto) {
        this.nomeProduto = nomeProduto;
        this.estoqueProduto = estoqueProduto;
    }

    public void venda(int qtdVenda) {
        if (estoqueProduto >= qtdVenda && qtdVenda > 0) {
            estoqueProduto -= qtdVenda;
            System.out.println("Venda realizada! Novo estoque de " + this.nomeProduto + " é de: " + this.estoqueProduto);
        } else if (estoqueProduto < qtdVenda) {
            System.out.println("Estoque insuficiente!");
        } else {
            System.out.println("Número de venda inválido!");
        }
    }
}

import classes.Venda;

public class MainExerciciosVenda {
    public static void main(String[] args) {
        Venda item1 = new Venda("camisa", 10);
        item1.venda(-1);
        item1.venda(6);
    }
}
1 resposta

Olá, Cauan! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou a classe Venda para estruturar dados com Java, utilizou muito bem o método construtor para inicializar atributos e ainda compreendeu a importância do método de validação para controlar regras de negócio.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar o encapsulamento com getters e setters. Assim:

public class Venda {
    private String nomeProduto;
    private int estoqueProduto;

    public Venda(String nomeProduto, int estoqueProduto) {
        this.nomeProduto = nomeProduto;
        this.estoqueProduto = estoqueProduto;
    }

    public String getNomeProduto() {
        return nomeProduto;
    }

    public int getEstoqueProduto() {
        return estoqueProduto;
    }

    public void venda(int qtdVenda) {
        if (estoqueProduto >= qtdVenda && qtdVenda > 0) {
            estoqueProduto -= qtdVenda;
            System.out.println("Venda realizada! Novo estoque de " + nomeProduto + " é de: " + estoqueProduto);
        } else if (estoqueProduto < qtdVenda) {
            System.out.println("Estoque insuficiente!");
        } else {
            System.out.println("Número de venda inválido!");
        }
    }
}

Isso faz o controle de acesso aos atributos de forma mais segura.

Ah, uma pergunta: Você considera mais interessante manter atributos públicos para facilitar testes iniciais ou prefere aplicar encapsulamento desde o começo para garantir boas práticas de programação?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!