Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Laís G ®

[Resolvido] Classe cujo metodo Main instancia 3 objetos

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.