método para incluir uma Mercadoria no estoque,

7 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.



*/
    public class Mercadoria {
        
        private String nome ;
        private double quantidade ;
        private double precoUnitario ;
        
        /*
         * a) um método construtor que inicialize os atributos por meio de parâmetros
         * (precoUnitario e quantidade não podem ser negativos);
         */
        
                public Mercadoria (double precoUnitario , double quantidade , String nome   ){
                       setQuantidade (quantidade );
                       setPrecoUnitario (precoUnitario);
                       setNome ( nome );
                }
                
               /*
                * b) um método modificador para cada atributo (precoUnitario e quantidade não
                * podem ser negativos);
                */ 
                
                public void setQuantidade (double  quantidade   ){
                    if ( quantidade > 0) {
                        this.quantidade =quantidade  ;
                    }
                }
                
                public void setPrecoUnitario (double  precoUnitario  )  {
                    if ( precoUnitario > 0) {
                        this.precoUnitario =precoUnitario  ;
                    } 
                }
                public void setNome (String nome) {
                     this.nome= nome ;
                    }
                   // c) um método de acesso para cada atributo;
                 
                public String getNome () {
                    return this.nome ;
                }
                public double getQuantidade () {
                    return this.quantidade ;
                }
                 public double getPrecoUnitario () {
                    return this.precoUnitario ;
                }
                
                /*
                 * 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+  (" Nome da Mercadoria : "  + getNome() + " \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;

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);
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;
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 ;
    
    public class Estoque {

    private ArrayList estoque ;

    public Estoque () {
        estoque = new  ArrayList() ;
    }
   /*
    * 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);
    */
      
      
    



  public void colocarProdutoNoEstoque(String nomeMercadoria, double precoMercadoria, double quantidadeMercadoria)
      {
         Mercadoria m = new Mercadoria (nomeMercadoria, precoMercadoria, quantidadeMercadoria);
         estoque.add(m);
        //JOptionPane.showMessageDialog(null, "Produto colocado no carrinho.");
      }




}

está dando erro no construtor da classe estoque onde eu to errando --"

7 Respostas

thiago.correa

Ahhhhhh diz aí para gente qual é o erro vai :wink:

Marck

Olá,

No primeiro argumento voce esta passando uma String, sendo que o construtor recebe um double.
Uma dica é usar a class BigDecimal para trabalhar com valores monetários.

Outra coisa que aparentemente é estranha é a verificação de quantidade e preco > 0. Você realmente precisa disso?

abraço

van_bommel
Estoque.java:39: cannot find symbol

symbol  : constructor Mercadoria(java.lang.String,double,double)

location: class Mercadoria

Mercadoria m = new Mercadoria (nomeMercadoria, precoMercadoria, quantidadeMercadoria);

^

Note: Estoque.java uses unchecked or unsafe operations.

Note: Recompile with -Xlint:unchecked for details.

1 error
van_bommel

qual é uma melhor forma de fazer ?
so iniciante

Marck

Voce tem que passar os parametros de acordo com os tipos que o construtor ira receber.
Veja:

public Mercadoria (double precoUnitario , double quantidade , String nome   ){  
                        setQuantidade (quantidade );  
                        setPrecoUnitario (precoUnitario);  
                        setNome ( nome );  
                 }

e voce está passando

Mercadoria m = new Mercadoria (nomeMercadoria, precoMercadoria, quantidadeMercadoria);

Troca para

Mercadoria m = new Mercadoria (precoMercadoria, quantidadeMercadoria, nomeMercadoria);
van_bommel

que frescuraa…shauhs… --"

Marck

:shock:

ahh sim!
Os compiladores são muito frescos mesmo! :?

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