Resposta à duvida do Henrique

Ok Henrique,
Como diria Jack O Estripador, vamos por partes. Bom, uma das melhores características do Java é ele ser uma linguagem de programação orientada a objetos. Então por que não utilizar essa característica certo?
Fiz algumas correções no seu código, e espero que te auxilie no seu aprendizado.  Não sei se o seu professor comentou a respeito, mas existe um documento chamado Convenções de Código Java que nada mais é do que as melhores práticas para se programar em Java. Mas vou abordar esse documento em um próximo post. Então agora vamos ao que interessa certo?

Sua dúvida foi:
Implemente a classe Produto que contem os atributos codigo, nome, quantidade, valor. Faço os métodos para retirar produtos do estoque e para dar entrada em estoque e o método para listar o valor total de estoque (quantidade * valor).

Eu fiz, mais acho que está errado, e estou com duvidas sobre algumas coisas, vou postar o código:


package exercicioproduto;

public class Produto {

private String nome;
private int codigo;
private int valor;
private int quantidade;

public static void main(String[] args) {

}

public Produto(String nome, int codigo){
this.nome = nome;
this.codigo = codigo;
}

public void Retirar(int nome) {
nome -= quantidade;
}

public void EntradaProduto(int nome){
nome += quantidade;
}

public void ValorEstoque(int nome){
nome = quantidade * valor;
}
}

Então, a primeira coisa que fiz foi o seguinte, separei seu Projeto em duas classes. Uma que será o Produto.java e a outra que será a Main.java.

No código fonte vou tentar explicar cada linha, então vamos começar pelo Produto:


public class Produto {

private String nome;
private int codigo;
private int valor;
private int quantidade;

/**
* Construtor.
* @param nome
* @param codigo
* @param valor
* @param quantidade
*/
public Produto(String nome, int codigo, int valor, int quantidade){
this.nome = nome;
this.codigo = codigo;
this.valor = valor;
this.quantidade = quantidade;
}

public void retirar(int qtdRetirar) {
quantidade -= qtdRetirar; // esse método irá retirar a 'qtdRetirar' da 'quantidade' total.
}

public void entradaProduto(int qtdAdicionar){
quantidade += qtdAdicionar;// esse método irá adicionar a 'qtdAdicionar' à 'quantidade' total.
}

public int getValorTotal(){
return valor*quantidade; // esse método retorna um int, que será o valor de todos os produtos.
}

/**Abaixo são os métodos Getters**/

public String getNome() {
return nome;
}
public int getCodigo() {
return codigo;
}
public int getValor() {
return valor;
}
public int getQuantidade() {
return quantidade;
}
}

Agora, com o Produto implementado, só falta fazer o programa rodar adicionando, retirando e imprimindo certo? Isso aí é trabalho da classe Main:


public class Main {

public static void main(String[] args) {

Produto produto = new Produto("DicaJava", 2312, 10, 0); // No Produto temos o contrutor, por isso passamos os parâmetro na hora de instanciar a classe.
produto.entradaProduto(5); // adiciona 5 produtos ao estoque.
produto.retirar(3); // retira 3 produtos do estoque.
int valorTotal = produto.getValorTotal(); //guarda na variável valorTotal o valor*quantidade.
System.out.println("O produto "+produto.getNome()+" código "+produto.getCodigo()+", possui "+produto.getQuantidade()+" quantidades no estoque totalizando R$"+valorTotal);
}

}

É isso. Espero ter ajudado. E posta aí pra gente se era isso mesmo que você queria!
Abraços!

This entry was posted in Dúvidas, java, programação and tagged , , . Bookmark the permalink.

2 Responses to Resposta à duvida do Henrique

  1. Henrique says:

    Consegui resolver minha duvida, só que aqui em minha turma estamos com dificuldades em fazer a orientação em objetos, por isso fiz em uma classe só, pois o professor está revisando toda a matéria!

    Mas muito obrigado pela ajuda!
    gostei do blog e sempre vou postar duvidas aqui!

  2. Daniel says:

    Legal os assuntos, da pra tirar várias dúvidas!! Gostei do layout também!! Valeu!!

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

*

Pode usar estas etiquetas HTML e atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>