Array list

/*[code]
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 nomeDaMercadoria;
    private double quantidade;
    private double precoUnitario;

    public Mercadoria (){
      setPrecoUnitario( precoUnitario);
      setQuantidade ( quantidade );
      this.nomeDaMercadoria = nomeDaMercadoria;
    

    }

    public void setNomeDaMercadoria(String nomeDaMercadoria) {
      this.nomeDaMercadoria = nomeDaMercadoria;
    

    }

    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;
      }
      else {
         this.quantidade = quantidade;
      }
    

    }
    public String getNomeDaMercadoria() {
    return this.nomeDaMercadoria;
    }

    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 ;
    

    }

    }
    [/code]

*/
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);

/*
   import java.util.ArrayList;

    public class Estoque {
 
   
      private ArrayList estoqueDeMercadoria ;
     
   
       public Estoque (){
         estoqueDeMercadoria= new ArrayList ();
      
      }
      
  
       public void colocarProdutoNoCarrinho(double  precoUnitario, String nomeDaMercadoria , double quantidade)
      {
        Mercadoria novaM = new Mercadoria (  precoUnitario, nomeDaMercadoria , quantidade);
         estoqueDeMercadoria.add(novaM);
        
      }
    
      
      
   
       public void colocarMercadoriaNoEstoque(Mercadoria novaM)
      {
         estoqueDeMercadoria.add(novaM);
             }
   
   }

Ola pessoas ,
estou com problemas no item B do exer 4 … onde estou errandoo ?

      import java.util.ArrayList;  
   
      public class Estoque {  
     
      private ArrayList<estoqueDeMercadoria> estoques = new ArrayList<estoqueDeMercadoria>() ;  
        
      
       public void addEstoque(estoqueDeMercadoria e){
                if (!this.estoques.contains(e)) {
                       this.estoques.add(e);
                }
       }
     e etc.....

}

não entenddii???;s