publicclassEstoque{StringnomeProduto;floatvalor;intqtd;publicEstoque(StringnomeProduto,floatvalor,intqtd){this.nomeProduto=nomeProduto;this.valor=valor;this.qtd=qtd;}publicvoidimprimir(){System.out.printf("Nome do produto: %s\n",nomeProduto);System.out.printf("Digite o valor do produto: %.2f\n",valor);System.out.printf("Digite a quantidade do produto: %d\n",qtd);}publicbooleanisverificarDisponibilidade(intquant){intquantEstoque=0;if(){returnfalse;}if(){returntrue;}returnfalse;}}
queria uma dica como fazer esse metodo que tem como descrição:
verificarDisponibilidade: Deve receber um inteiro como entrada. O método verifica se
ainda há produtos disponíveis na quantidade recebida como parâmetro. Deve retorna false, se não
houver mais produtos ou se a quantidade existente for menor que o valor informado na chamada
do método. Caso a quantidade de produtos seja maior que o valor informado, o método retorna
true.
Dessa forma como fez ele vai retornar true caso a quantidade solicitada seja maior que a quantidade disponível. Isso não me parece correto.
Tenta fazer algo como:
"Se quantidadeRecebida menor que quantidadeDisponivel retorna Verdadeiro, se não, retorna falso"
Já tentou isso?
Jeanfbs
kara tudo bem? eu percebi que sua logica do if está correta, mas o codigo está incorreto tenta colocar
if((qtd==0)&&(qtdDisponivel<qtd))
pois quando você utiliza o && é necessario você acrescentar o ()para que o programa entenda.
Um abraço
fabiocortolan
Jeanfbs:
kara tudo bem? eu percebi que sua logica do if está correta, mas o codigo está incorreto tenta colocar
if((qtd==0)&&(qtdDisponivel<qtd))
pois quando você utiliza o && é necessario você acrescentar o ()para que o programa entenda.
Um abraço
Na verdade a lógica está incorreta, ele deve verificar se a quantidade é igual a 0 “OU” se a quantidade disponível está abaixo da quantidade solicitada. Outra coisa, vc quer verificar se a “qtd” é igual a 0 ou se a “qtdDisponivel” é igual a 0?
Acho q vc deve mudar seu código para:
if((qtdDisponivel==0)||(qtdDisponivel<qtd))
Mas eu ainda ficaria com a sugestão do di.magdaleno, verificar se a quantidade solicitada é menor que a disponível e retonar true.
Matheus_terra
Jeanfbs:
kara tudo bem? eu percebi que sua logica do if está correta, mas o codigo está incorreto tenta colocar
if((qtd==0)&&(qtdDisponivel<qtd))
pois quando você utiliza o && é necessario você acrescentar o ()para que o programa entenda.
Um abraço
Nesse caso não precisa usar parentese para separar as condições, pois o && já está separando. Não tem problema usar, mas não é necessário.
Usa-se parentese quando quer que duas condições diferentes seja apenas uma quando existe uma outra. Confuso neh? Vamos à códigos:
if(idade>30&&idade<=50); //Só vai pegar as idades entre 31 && 50.if((idade>30&&idade<=50)&&sexo=='f'); // Vai pegar mulheres entre 31 e 50 anos.
Percebeu a utilidade dos parenteses? Eu separei a condição em dois membros, onde só será verdadeiro caso as duas sejam verdadeiras.
No primeiro membro, eu tenho dois sub membros, onde esse membro só será verdadeiro caso a idade esteja entre os dois sub membros.
adsadilson
brother estive com o mesmo problema para implementa uma tela de venda e consegui fazer algo desse tipo q vc esta querendo aqui esta o codigo q estou utilizado caso vc queria melhora e adapitar para a sua necessidade.
private void txtQuantKeyPressed(java.awt.event.KeyEvent evt) {
int key = evt.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
if (!txtQuant.getText().isEmpty() && !txtIDProduto.getText().isEmpty()) {
if (!verificaQuantidade()) {
calcTotalUnitario();
btAdicionarItem.requestFocus();
} else {
JOptionPane.showMessageDialog(this, "A quantidade que há no estoque é de " + qtde);
txtQuant.requestFocus();
}
} else {
txtQuant.setText(null);
}
}
}
espero q possa ter de ajudado
fabiomariner
não é interessante ter seu valor "int quantEstoque = 0;" dessa forma, acho q um bean seria interessante para isso: