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