AJBM Posted May 10, 2012 at 03:19 PM Report #454375 Posted May 10, 2012 at 03:19 PM Boas! Eu estou a tentar eliminar um bebida. Eu tenho um Stock com 6 bebidas e quero eliminar 4. Em vez de so eliminar, elimina a bebida e apresenta esta mensagem A quantidade a remover e maior do que a existente: e nao devia apresentar public boolean eliminarBebidas(Bebida b) { boolean eliminar = false; if(b!=null){ Bebida[] tmp = new Bebida[bebida.length - 1]; for (int i = 0; i < bebida.length; i++) { if ( b.getNome().equals(bebida[i].getNome()) && b.getStock() < bebida[i].getStock()) { bebida[i].setStock(bebida[i].getStock() - b.getStock()); } if (b.getNome().equals(bebida[i].getNome()) && bebida[i].getStock() == 0) { System.arraycopy(bebida, 0, tmp, 0, i); for (int a = i + 1; a < bebida.length; a++) { tmp[a - 1] = bebida[a]; } bebida = tmp; } else{ System.out.println("A quantidade a remover e maior do que a existente: "); } } listarStock(); } return eliminar; } Stock: Nome: vodka Stock: 4 Nome: 7up Stock: 6 Nome: cola Stock: 10 Eliminar: A quantidade a remover e maior do que a existente: A quantidade a remover e maior do que a existente: A quantidade a remover e maior do que a existente: Nome: vodka Stock: 4 Nome: 7up Stock: 3 Nome: cola Stock: 10
HappyHippyHippo Posted May 10, 2012 at 03:22 PM Report #454379 Posted May 10, 2012 at 03:22 PM ???? eu ando a faltar às aulas de português .... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
joelbrito Posted May 10, 2012 at 03:53 PM Report #454403 Posted May 10, 2012 at 03:53 PM ???? eu ando a faltar às aulas de português .... ;D ;D ;D AJBM, Duas dicas para ti: - Quando estiveres a expor um dúvida tenta se o mais claro possível de maneira a que se perceba; - Tem atenção ás chavetas dos ciclos e das condições Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs
HappyHippyHippo Posted May 10, 2012 at 03:57 PM Report #454407 Posted May 10, 2012 at 03:57 PM if (b.getNome().equals(bebida[i].getNome()) && bebida[i].getStock() == 0) { quando a bebida não tem o mesmo nome a condição falha, logo vai aparecer a mensagem IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
joelbrito Posted May 10, 2012 at 04:11 PM Report #454416 Posted May 10, 2012 at 04:11 PM if (b.getNome().equals(bebida[i].getNome()) && bebida[i].getStock() == 0) { quando a bebida não tem o mesmo nome a condição falha, logo vai aparecer a mensagem ...e a mensagem só deveria aparecer quando falhar a condição: b.getStock() < bebida[i].getStock() Quando a quantidade a remover for maior do que a quantidade em stock. Certo? Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs
HappyHippyHippo Posted May 10, 2012 at 04:29 PM Report #454426 Posted May 10, 2012 at 04:29 PM apesar de que quando olho para este código da-me cócegas no fundo das costas, sim, deveria ser efectuada uma primeira verificação da bebida do array (para se descartar qualquer tipo de acção numa bebida diferente) e só depois verificar o stock IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now