Laís G ® 0 Denunciar post Postado Setembro 19, 2010 Olá será que alguém pode me ajudar a resolver esta questão, ou melhor, a corrigir o erro dela, que está em vermelho! :( 1) Escreva uma classe UsaEstoque cujo método main instancia os 3 objetos a seguir: _______________________________ estoque1 nome: Impressora Jato de Tinta qtdAtual: 13 qtdMinima: 6 _______________________________ estoque2 nome: Monitor LCD 17 polegadas qtdAtual: 11 qtdMinima: 13 _______________________________ estoque3 nome: Mouse Ótico qtdAtual: 6 qtdMinima: 2 _________________________________ Depois disso, execute as seguintes operações na seguinte ordem: a) Dar baixa em 5 unidades de estoque1. B) Fazer a reposição de 7 unidades de estoque2. c) Dar baixa em 4 unidades de estoque3. d) Exibir a saída do método precisaRepor dos 3 objetos. e) Exibir a saída do método mostra para apresentar as informações sobre os 3 objetos. Resolvi dessa maneira: public class Main { // Criando os objetos Estoque estoque1 = new Estoque ("Impressora Jato de Tinta ", 13, 6); Estoque estoque2 = new Estoque ("Monitor LCD 17 polegadas ", 11, 13); Estoque estoque3 = new Estoque ("Mouse Ótico ", 6, 2); // Questão 8, item a) Dar baixa em 5 unidades de estoque 1. System.out.println ("Item a): "); // Método dar baixa estoque1.darBaixa(5); //chamar o metodo mostrar System.out.println(estoque1.mostrar()); //Questão 8, item B) Fazer a reposição de 7 unidades de estoque 2. System.out.println("Item B): "); // Metodo repor estoque2.repor(7); // Chamada do método mostra System.out.println (estoque2.mostra()); // Questão 8, item c) Dar baixaem 4 unidades do estoque 3. System.out.println ("Item c): "); // Método repor estoque3.darBaixa(4); // Chamada do método mostra System.out.println (estoque3.mostra()); // Questão 8, item d) Exibir a saída do método precisaRepor dos 3 objetos. System.out.println ("Item d): "); // Método precisa repor System.out.println ("Quantidade do estoque 1: "); System.out.println (estoque1.precisaRepor()); System.out.println ("Quantidade do estoque 2: "); System.out.println (estoque2.precisaRepor()); System.out.println ("Quantidade do estoque 3: "); System.out.println (estoque3.precisaRepor()); // Questão 8, item e) Exibir a saída do método mostra para apresentar as informações sobre os 3 objetos System.out.println ("Item e): "); // Método mostra System.out.println (estoque1.mostra()); System.out.println (estoque2.mostra()); System.out.println (estoque3.mostra()); } } ****Essa parte está correta, o problema mesmo é na parte em vermelho!!!! public class UsaEstoque { String nome; int qtdAtual; int qtdMinima; // Contrutor com três parametros inicias: nome, qtdAtual, qtdMinima UsaEstoque (String nome, int qtdAtual, int qtdMinima){ this.nome = nome; if (qtdAtual >= 0) this.qtdAtual = qtdAtual; else{ System.out.println ("Essa quantidade atual não pode ser ("+qtdAtual+"). Sua quantidade atual foi adicionada como 0 (zero) "); this.qtdAtual = 0; } if (qtdMinima >= 0) this.qtdMinima=qtdMinima; else{ System.out.println ("Essa quantidade mínima não pode ser ("+qtdMinima+"). Sua quantidade mínimo foi adicionada como 0 (zero) "); this.qtdMinima=0; } System.out.println ("O produto foi criado com sucesso! "); System.out.println ("Nome: "+this.nome); System.out.println ("Quantidade Atual: "+this.qtdAtual); System.out.println ("Quantidade Mínima: "+this.qtdMinima); } // Método mudar nome do produto void mudarNome(String newNome){ nome = newNome; } // Método mudar quantidade mínima aceitável; void mudarQtdMinima(int newQtdMinima){ if(newQtdMinima >= 0) qtdMinima=newQtdMinima; else // Math.abs sempre servirá para quando o número enviado for negativo transformá-lo para positivo! System.out.println("Este valor não é válido: ("+newQtdMinima+")! Será inserido um valor positivo para essa quantia: "+Math.abs(newQtdMinima)); qtdMinima=Math.abs(newQtdMinima); } // Repor o estoque; void repor(int newQtdAtual){ if(newQtdAtual >= 0) qtdAtual += newQtdAtual; else System.out.println ("Este valor não é válido: ("+newQtdAtual+")! Será inserido um valor positivo para essa quantia: "+Math.abs(newQtdAtual)); qtdAtual +=Math.abs(newQtdAtual); } //Retirar do estoque atual... // Math.abs sempre servirá para quando o número enviado for negativo transformá-lo para positivo! void darBaixa(int qtd){ if( qtdAtual >= Math.abs(qtd) ) qtdAtual -= Math.abs(qtd); else System.out.println("Não há estoque suficiente!"); } // Mostrar a quantidade máxima e mínima do produto String mostra(){ String registro; registro =("Nome: "+nome+", Quantidade em estoque: "+qtdAtual+", Quantidade Mínima: "+qtdMinima); return registro; } // Mostrar true caso precise repor o estoque e false caso nao precise! boolean precisaRepor(){ if (qtdAtual <= qtdMinima) return true; return false; } } Ficarei muito grata se alguém puder me ajudar, estou começando a aprender Java agora! :) Compartilhar este post Link para o post Compartilhar em outros sites
Daniloinf 3 Denunciar post Postado Setembro 20, 2010 Ixi, que coisa grande =P Primeiro, você deve colocar seu código sempre dentro do método "public static void main(String args[]){..." Porque é ele que dá o pontapé inicial para seu programa. Então o correto seria: public class Main { public static void main(String[] args){ // Criando os objetos Estoque estoque1 = new Estoque ("Impressora Jato de Tinta ", 13, 6); ... E outra, parece que você está instanciando os objetos com o nome da classe errado, veja porque: Estoque estoque1 = new Estoque ("Impressora Jato de Tinta ", 13, 6); Estoque estoque2 = new Estoque ("Monitor LCD 17 polegadas ", 11, 13); Estoque estoque3 = new Estoque ("Mouse Ótico ", 6, 2);Ai você está pedindo para criar 3 objetos do tipo "Estoque", mas lá em baixo você cria a classe UsaEstoque, então você deve criar objetos do tipo UsaEstoque ou mudar este nome: UsaEstoque estoque1 = new UsaEstoque ("Impressora Jato de Tinta ", 13, 6); UsaEstoque estoque2 = new UsaEstoque ("Monitor LCD 17 polegadas ", 11, 13); UsaEstoque estoque3 = new UsaEstoque ("Mouse Ótico ", 6, 2); Vê ai o que que dá, =] Dica: É sempre bom você reduzir ao máximo o problema antes de colocar por aqui, porque assim alguém pode responder rapidão pra você. Compartilhar este post Link para o post Compartilhar em outros sites
Laís G ® 0 Denunciar post Postado Setembro 22, 2010 Danilo você tem toda razão, realmente td que você colocou estava faltando! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Muito obrigada pela ajuda... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Vou ficar mais ligada para não errar coisas tão simples... :D *Ah, pode deixar irei reduzir mais as questões que eu postar, valeu pela dica!! ;) Ixi, que coisa grande =P Primeiro, você deve colocar seu código sempre dentro do método "public static void main(String args[]){..." Porque é ele que dá o pontapé inicial para seu programa. Então o correto seria: public class Main { public static void main(String[] args){ // Criando os objetos Estoque estoque1 = new Estoque ("Impressora Jato de Tinta ", 13, 6); ... E outra, parece que você está instanciando os objetos com o nome da classe errado, veja porque: Estoque estoque1 = new Estoque ("Impressora Jato de Tinta ", 13, 6); Estoque estoque2 = new Estoque ("Monitor LCD 17 polegadas ", 11, 13); Estoque estoque3 = new Estoque ("Mouse Ótico ", 6, 2);Ai você está pedindo para criar 3 objetos do tipo "Estoque", mas lá em baixo você cria a classe UsaEstoque, então você deve criar objetos do tipo UsaEstoque ou mudar este nome: UsaEstoque estoque1 = new UsaEstoque ("Impressora Jato de Tinta ", 13, 6); UsaEstoque estoque2 = new UsaEstoque ("Monitor LCD 17 polegadas ", 11, 13); UsaEstoque estoque3 = new UsaEstoque ("Mouse Ótico ", 6, 2); Vê ai o que que dá, =] Dica: É sempre bom você reduzir ao máximo o problema antes de colocar por aqui, porque assim alguém pode responder rapidão pra você. Compartilhar este post Link para o post Compartilhar em outros sites