Boa Noite! estou com uma dúvida, quero pegar o valor que está no estoque 40, e acrescentar 50,com soma 90.
classe “Bebida”, um atributo “quantidadeEstoque”
packageLoja;publicvoidsetQuantidadeEstoque(intquantidadeEstoque){this.quantidadeEstoque=quantidadeEstoque;quantidadeEstoque=40;//->aqui a quantidade no estoque, que começa com 20-<}publicStringtoString(){//String str = super.toString() + "quantidade em estoque = " + quantidadeEstoque; returnstr;Stringstr="Produto:\nNomeDoProduto = "+getNome()+"\nQuantidade em Estoque = "+quantidadeEstoque;returnstr;}}// Em outra classe. packageLoja;publicclassPrincipal{publicstaticvoidmain(String[]args){Bebidab1=newBebida(123)System.out.println(b);//System.out.println(b.toString()); //É mesma coisa que o da linha de cima}}
Dai eu queria somar o valor atual da quantidade do estoque que e 20, com o 30. Se alguém puder me ajudar. Obrigado
public int setQuantidadeEstoque(int quantidade) {
this.quantidadeEstoque = quantidadeEstoque;
quantidadeEstoque = 20;//->aqui a quantidade no estoque, que começa com 20-<
quantidadeEstoque+=quantidade;
return quantidadeEstoque;
}
pvrsouza
Existem formas melhores de tratar este caso, mas mantendo seu raciocínio, vou sugerir algumas alterações:
publicclassBebidaextendsProduto{//Está extendendo para a classe "Produto" //usar uma variavel estatica para que, na prática, acumule os valores em diferentes instancias do objetoprivatestaticintquantidadeEstoque;publicBebida(intcodigo,Stringnome,doublevalor,intqnt){super(codigo,nome,valor,qnt);//usar o método que faz a soma...this.setQuantidadeEstoque(qnt);}publicintgetQuantidadeEstoque(){returnquantidadeEstoque;}publicvoidsetQuantidadeEstoque(intquantidadeEstoque){//basta somar a variável estática...this.quantidadeEstoque+=quantidadeEstoque;}publicStringtoString(){Stringstr="Produto:\nNome = "+getNome()+"\nCodigo = "+getCodigo()+"\nValor = "+getValor()+"\nQuantidade em Estoque = "+quantidadeEstoque;returnstr;}}
publicclassPrincipal{publicstaticvoidmain(String[]args){Bebidab=newBebida(123,"Lata de Guaraná",4.5,40);System.out.println(b);Bebidab2=newBebida(123,"Lata de Guaraná",4.5,40);System.out.println(b2);}}
Se vc executar a classe principal vai ver que o "b2" já terá o valor de estoque acumulado.
Abs
V
valdeir.bae
Para que o seu programa rode e já faça o auto-incremento, necessita-se de algumas correções. O método setQuantidadeEstoque não é usado e deve ser tirado do seu programa, porque ele tem a mesma funcionalidade do construtor da sua classe pai que é a entrada de dados.
Para fazer isso você vai inserir a quantidade 20 na inicialização do objeto "b". Outra coisa é sempre que possível utilize a palavra-chave THIS, pois além de ser uma boa prática, facilita a legibilidade do seu programa. E deve criar um método addQuantidadeEstoque que irá suplementar seu estoque, e já deve criar um método RemQuantidadeEstoque para diminuir seu estoque.
Seu código ficaria assim:
packagePizzaria;publicclassBebidaextendsProduto{privateintquantidadeEstoque;publicBebida(){super();}publicBebida(intcodigo,Stringnome,doublevalor,intqnt){//Construtor com argumentos super(codigo,nome,valor);this.quantidadeEstoque=qnt;}publicvoidaddQuantidadeEstoque(intqtd){//Adiciona produtos ao estoque, e já somathis.quantidadeEstoque+=qtd;}publicvoidremQuantidadeEstoque(intqtd){this.quantidadeEstoque-=qtd;}publicintgetQuantidadeEstoque(){//Retorna o valor da quantidade atualizadoreturnthis.quantidadeEstoque;}publicStringtoString(){Stringstr="Produto:\nNome = "+getNome()+"\nCodigo = "+getCodigo()+"\nValor = "+getValor()+"\nQuantidade em Estoque = "+this.quantidadeEstoque;returnstr;}}// Em outra classe. packagePizzaria;publicclassPrincipal{publicstaticvoidmain(String[]args){Bebidab=newBebida(123,"Lata de Guaraná",4.5,20);//Está inicializando o produto "Lata de Guaraná" com 20 produtosb.addQuantidadeEstoque(30);//Aqui ele está chamando o método addQuantidadeEstoque que pega os 20 produtos e add 30 que está de parâmetro de entradaSystem.out.println(b.getQuantidadeEstoque());//Aqui usa o método getQuantidadeEstoque p/ retornar a quantidade do produto, use sempre b.MÉTODO}}
D
denispjl
Muito Obrigado a Todos pela compreensão. Vocês me ajudaram bastante. To no inicio do java.Os três(wilkem,pvrsouza,valdeir.bae) me ajudaram muito.
Vlw pessoal e Boa Noite!