Olá pessoa, este é meu segundo tópico, eu tentei de todas as formas resolver o meu problema mas…
Situação: preciso adicionar e retirar do estoque através de métodos
Problema: O método adicionaEstoque é do tipo void. Preciso “segurar” a quantidade de itens no meu estoque, para remover depois.
Ou seja eu preciso de uma variável que controle o valor do estoque. Isso não está acontecendo, e o meu estoque sempre zera depois que eu aumento o valor e termino de executar o método adicionaEstoque(int num). Eu pensei em armazenao o valor de estoque assim que ele for adicionado ou diminuído, através dos getters e setters da classe Estoque(). O código ficou assim:
[code]package trabalho;
import javax.swing.JOptionPane;
public class Produto {
protected String preco;
protected String nome;
protected int num;
public void adicionaEstoque(int num){
if (num > 0){
//aqui eu crio um objeto para acessar os getters & setters de Estoque
Estoque e = new Estoque();
int estoque=0,atual = e.getEstoque();
e.setEstoque(estoque+num);
/a idéia na linha abaixo é de armazenar o valor ATUALIZADO do estoque. Perceba que eu já armazenei num+estoque dentro do setEstoque, então eu pego com o getEstoque/
e.getEstoque();
num=e.getEstoque();
System.out.println(“Foram adicionados “+num+” de unidade ao estoque.”);
System.out.print(“Quantidades no estoque: “+e.getEstoque()+”.”);
/mais uma vez eu tentei fazer com que o valor de estoque já acrecentado fosse capturado pelo getEstoque. Funciona, mas o system.out.print me retorna ‘foram adicionados 9 ao estoque. quantidades no estoque : 9’. Quando eu acrescento um novo valor, (ex. 5), fica a mesma coisa: adiciona 5 e qtdade. no estoque = 5./
atual = this.num+atual;
e.setEstoque(atual);
e.getEstoque();
}else{
System.out.print("Digite um valor maior do que zero.");
}
}
public void retirarEstoque(int qtd){
//ainda n mechi aqui pq não concluí o adicionaEstoque _
String retira = JOptionPane.showInputDialog(“Quantas unidades deseja retirar do estoque?”);
System.out.println("Foram retirados "+qtd+" de unidades do estoque.");
}
public static void main(String args[]){
String numero = JOptionPane.showInputDialog("Digite 1 para adicionar ao estoque. 2 para retirar");
int opcao = Integer.parseInt(numero);
if (opcao==1){
Produto p = new Produto();
String qtdade = JOptionPane.showInputDialog("Quanto deseja adicionar?");
int num = Integer.parseInt(qtdade);
p.adicionaEstoque(num);
}
}
}
[/code]
Classe Estoque só contém um get/set:
[code]package trabalho;
public class Estoque {
int estoque;
//getters e setters
public int getEstoque(){
return estoque;
}
public void setEstoque(int estoque){
this.estoque=estoque;
}
}
[/code]
A minha dúvida seria: como eu faço pra MANTER o valor do estoque, depois de ter usado o método adicionaEstoque(int qtd)?
Isso é parte deste exercício da minha faculdade:

Agradeço imensamente àquele que tentarem me colocar no caminho certo.
Vlw!!