Duvida

3 respostas
van_bommel
/*
3) Escrever a classe Mercadoria, cujos atributos únicos são nomeDaMercadoria
 (String),
quantidade em kg (double) e precoUnitario em reais (double). Em seguida,
 na mesma
classe, escrever os seguintes métodos.
a) um método construtor que inicialize os atributos por meio de parâmetros
(precoUnitario e quantidade não podem ser negativos);
b) um método modificador para cada atributo (precoUnitario e quantidade não
podem ser negativos);
c) um método de acesso para cada atributo;
d) o método dadosDaMercadoria(), que retorna uma String, a qual deve conter a
String ?Nome da Mercadoria: ?, seguida do conteúdo do atributo
nomeDaMercadoria, seguida da String ?\nQuantidade em Estoque: ?, seguida pelo
conteúdo do atributo quantidade, seguida pela String ?\nPreço Unitário (R$): ?,
seguida pelo conteúdo do atributo precoUnitario.
*/




/**
 *
 * @author wan
 */
    public class Mercadoria {
   
      private  String nome;
      private double quantidade;
      private double precoUnitario;
      
        public Mercadoria(String nome, double precoUnitario, double quantidade)
    {
        this.nome = nome;
        setPrecoUnitario(precoUnitario);
        setQuantidade(quantidade);
    }
     
   
    
   
       public void setNomeDaMercadoria(String nome) {
         this.nome = nome;
      }
   
       public void setPrecoUnitario(double precoUnitario) {
         if ( precoUnitario <= 0) {
            precoUnitario  = +1.0;
         }
         else {	 
            this.precoUnitario = precoUnitario;
         }
      }
   
       public void setQuantidade(double quantidade) {
         if ( quantidade <=0) {
            precoUnitario= +1.0;
         }
         else {
            this.quantidade = quantidade;
         }
      }
       public String getNomeDaMercadoria() {
         return this.nome;
      }
   
       public double getPrecoUnitario() {
         return this.precoUnitario;
      }
   
       public double getQuantidade() {
         return quantidade;
      }
   /*
   c) um método de acesso para cada atributo;
   d) o método dadosDaMercadoria(), que retorna uma String, a qual deve conter a
   String ?Nome da Mercadoria: ?, seguida do conteúdo do atributo
   nomeDaMercadoria, seguida da String ?\nQuantidade em Estoque: ?, seguida pelo
   conteúdo do atributo quantidade, seguida pela String ?\nPreço Unitário (R$): ?,
   seguida pelo conteúdo do atributo precoUnitario.
   */
    
    
       public String dadosDaMercadoria(){
         String saida;
         saida= "";
         saida = getNomeDaMercadoria() + "\nQuantidade em Estoque:" +
            getQuantidade() + "\nPreço Unitário (R$): " + getPrecoUnitario();
      
         return saida ;
        
      }
    

    
   
   }




 /* 
4) Escrever a classe Estoque, cujo atributo único é estoque, que é um ArrayList de
objetos da classe Mercadoria (exercício 3). A seguir, na mesma classe, escrever os
seguintes métodos:
a) um método construtor, sem parâmetros, que inicializa o atributo estoque;
b) um método para incluir uma Mercadoria no estoque, que deve receber, usando
parâmetros, os dados dessa Mercadoria (nome, preço unitário e quantidade);


e) um método, sem parâmetros, que imprima uma lista do todas as Mercadorias
do estoque, incluindo nome, preço unitário e quantidade de cada uma;
f) um método, sem parâmetros, que retorne o valor total do estoque, em reais.

*/ 
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.*;
   
   
   

    public class Estoque {
 
   
      private ArrayList estoque;
     
   
       public Estoque (){
         estoque= new ArrayList ();
      
      }
      
    public void colocarProdutoNoCarrinho(String nomeMercadoria, double precoMercadoria, double quantidadeMercadoria)
    {
        Mercadoria m = new Mercadoria(nomeMercadoria, precoMercadoria, quantidadeMercadoria);
        estoque.add(m);
        //JOptionPane.showMessageDialog(null, "Produto colocado no carrinho.");
    }
    
   /* c) um método, o qual recebe por parâmetro o nome da Mercadoria, para remover
uma mercadoria do estoque (Obs.: lembrar que o ArrayList estoque pode estar
vazio ou que a Mercadoria fornecida no parâmetro pode não existir no ArrayList
estoque ? nestes casos, o método deve apenas imprimir uma mensagem
apropriada de erro);
*/
    
   public int procurarMercadoria (String nome ){
         int i = 0 ;
         while ( i < estoque.size() ){
            Mercadoria m = (Mercadoria ) estoque.get(i);
            if ( nome.equals (m.getNomeDaMercadoria() ) ) {
               return i ;
            }
            i++;
         }
      
         return -1 ;
      
      }
    
  public void removerProduto  (String nome ) {
      int resp = procurarMercadoria ( nome );
      if ( resp == - 1){
          JOptionPane.showMessageDialog ( null ," A mercadoria " +nome +  "não existe ");
        }else {
            estoque.remove(resp);
          JOptionPane.showMessageDialog  ( null, " Mercadoria "+nome +"removida com sucesso ");

        }
    }
             
/*
 * d) um método, o qual recebe por parâmetro o nome da Mercadoria, que imprime
os dados dessa Mercadoria, caso essa Mercadoria exista no estoque;
 */
public void  ImprimirDadosDaMercadoria (String nome){
  int i =  procurarMercadoria(nome);
 Mercadoria m = (Mercadoria ) estoque.get(i);


  m.dadosDaMercadoria();
  


  

    }
   
}

d) um método, o qual recebe por parâmetro o nome da Mercadoria, que imprime
os dados dessa Mercadoria, caso essa Mercadoria exista no estoque;

como faço esse metodo explicação ???ajudaaaaaaa........

3 Respostas

luciano.eti

d) um método, o qual recebe por parâmetro o nome da Mercadoria, que imprime
os dados dessa Mercadoria, caso essa Mercadoria exista no estoque;

como faço esse metodo explicação ???ajudaaaaaaa…


…já ouviu falar do toString()!!!

talvez seria isto que esteja precisando…esse cara é herdado por todas as classes de Object (a raiz) e retorna uma String para representar o objeto… public String toString(){ return String.format(String formatada conforme suas preferências); }[]'s

Luciano

van_bommel

mais como eu vou chamar os outros metodos ?do obj …quantidade preço

luciano.eti

…seria mais ou menos assim…ai vai depender de cada um…public String toString(){ return String.format("Quantidade: %d\nPreço: %.2f", getQuantidade(), getPreco()); }[]'s

Luciano

Criado 6 de junho de 2009
Ultima resposta 7 de jun. de 2009
Respostas 3
Participantes 2