As classes foram montadas, porém tenho dificuldade para completar a classe que faz o seguinte:

2 respostas
L

As classes foram montadas, porém tenho dificuldade para completar a classe que faz o seguinte:

  1. Cadastramento de vários produtos.
  2. Cadastramento de vários Departamentos.
  3. Permitir a consulta dos produtos por departamento (solicitar que o usuário informe o departamento a pesquisar).
  4. Permitir a consulta de produtos por faixa de preço (solicitar que o usuário informe a faixa de preço a consultar (valor mínimo e máximo do produto).

Aí as classes:

public class Produto {
	private String nome, preco, departa;
	private int codigo;
	
	
	public Produto( ){
	nome="";
	preco="";
	departa="";
	codigo=0;
	}
	
	public void setNome(String snom){
	nome=snom;
	}
	
	public void setPreco(String prec){
		preco= prec;
	}
	public void setDeparta(String idep){
		departa=idep;
	}
	public void setCodigo(int icod){
		codigo=icod;
	}
	public String getNome(){
	return nome;
	}
	
	public String getPreco(){
	return preco;
	}
	public String getDeparta(){
		return departa;
	}
	public int getCodigo( ){
	return codigo;
	}
}

public class Depart {
	private String nomedep, gerente;
	private Produto produto;
	
	public Depart( ){
	nomedep="";
	gerente="";
	produto = null;
	}
	public void setNomedep(String inomed){
		nomedep=inomed;
	}
	
	public void setGerente(String igerente){
		gerente=igerente;
	}
	
	public void setProduto(Produto c){
		produto = c;
	}
	public String getNomedep( ){
	return nomedep;
	}
	
	public String getGerente(){
	return gerente;
	}
	public Produto getProduto(){
	return produto;
	}
}

import javax.swing.*;
public class CadastroProdutos {
	public static void main(String args[]){
		Depart dep[]=new Depart[3];
		Produto pro[]=new Produto[5];
		int i=0, j=0;
		while (true){
			String op=JOptionPane.showInputDialog("1-Cadastra Produto e Departamento; 2-Pesquisa Produtos; 3-sair");
			if(op.equalsIgnoreCase("1")){
				pro[i]=new Produto();
				pro[i].setNome(JOptionPane.showInputDialog("Digite o Nome do Produto"));
				pro[i].setPreco(JOptionPane.showInputDialog("Digite o Preço do Produto"));
				pro[i].setDeparta(JOptionPane.showInputDialog("Digite o Departamento do Produto"));
				pro[i].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Digite o Código do Produto")));
				dep[j]=new Depart();
				dep[j].setNomedep(JOptionPane.showInputDialog("Digite o Nome do Departamento"));
				dep[j].setGerente(JOptionPane.showInputDialog("Digite o Nome do Gerente"));
				dep[j].setProduto(pro[i]);
				i++;
				j++;
			}
			else
				if(op.equalsIgnoreCase("2")){
					String nomecli=JOptionPane.showInputDialog("Entre com o Nome do Departamento");
							if(nomecli.equalsIgnoreCase(dep[j].getNomedep())){
							JOptionPane.showInputDialog(null,"Produto: "+pro[i].getNome(), "Preço: "+pro[i].getPreco());
							break;
						}
					}
				else
					if(op.equalsIgnoreCase("3"))
						break;
		}
		System.exit(0);
	}
}

2 Respostas

pedroroxd

Mano…
Se você continuar dando spam no forum, ninguém vai te ajudar…
Poste apenas uma vez sua dúvida, é o bastante.

Alkamavo

Cara tu tem as classes todas montadas...certo
e ate tah tudo bonitinho...

em vez de vectores use HashMaps pesquisa mais rapida e etc.
.depois é so tu fazer peskisa do que queres na estrutura em que tu guardas as coisas

aqui vao algumas alteraçoes

package kawakuti;

/**
 * @author alkamavo
 * 
 */
public class Produto {
	private String nome, preco, departa;
	private int codigo;

	// este tipo de construtor...é da china, mas vale ter dois tipos de
	// construres um que receba os parametros.
	public Produto() {
		nome = "";
		preco = "";
		departa = "";
		codigo = 0;
	}

	public void setNome(String snom) {
		nome = snom;
	}

	public void setPreco(String prec) {
		preco = prec;
	}

	public void setDeparta(String idep) {
		departa = idep;
	}

	public void setCodigo(int icod) {
		codigo = icod;
	}

	public String getNome() {
		return nome;
	}

	public String getPreco() {
		return preco;
	}

	public String getDeparta() {
		return departa;
	}

	public int getCodigo() {
		return codigo;
	}

	// metodo to String tb vai ajudar
	public String toString() {
		return "NomeProduto : " + this.nome + " " + "Preço : " + this.preco
				+ " Departamento :  " + this.departa + "codigo barras : "
				+ this.codigo;
	}
}

2@

/**
 * 
 */
package kawakuti;

/**
 * @author alkamavo
 * 
 */
public class Depart {
	private String nomedep, gerente;
	private Produto produto;

	public Depart() {
		nomedep = "";
		gerente = "";
		produto = null;
	}
	
	//novo construtor
	
	public Depart (String nomeDepartamento , String gerente , Produto p){
		
		this.nomedep=nomeDepartamento;
		this.gerente=gerente;
		this.produto=p;
	}
	

	public void setNomedep(String inomed) {
		nomedep = inomed;
	}

	public void setGerente(String igerente) {
		gerente = igerente;
	}

	public void setProduto(Produto c) {
		produto = c;
	}

	public String getNomedep() {
		return nomedep;
	}

	public String getGerente() {
		return gerente;
	}

	public Produto getProduto() {
		return produto;
	}
	
	//metodo to String ajudará..
	
	
	public String toString() {
		return "depart " + this.nomedep + "\n " + "Gerente : " + this.gerente +
				"\n "+ " produto " + produto.toString();
	}
	
}

3@

/**
 * 
 */
package kawakuti;

/**
 * @author estagio
 *
 */
import java.util.HashMap;

import javax.swing.*;

public class CadastroProdutos {
	public static void main(String args[]) {

		//alteraçoes 
		
		HashMap<String, Depart> MapDepart = new HashMap<String, Depart>();

		Depart departement;
		String nomeDep, gerente;
		
		Produto pro[] = new Produto[5];

		int i = 0;
		while (true) {

			String op = JOptionPane
					.showInputDialog("1-Cadastra Produto e Departamento; 2-Pesquisa Produtos; 3-sair");
			if (op.equalsIgnoreCase("1")) {

				pro[i] = new Produto();
				pro[i].setNome(JOptionPane
						.showInputDialog("Digite o Nome do Produto"));
				pro[i].setPreco(JOptionPane
						.showInputDialog("Digite o Preço do Produto"));

				pro[i].setDeparta(JOptionPane
						.showInputDialog("Digite o Departamento do Produto"));
				pro[i].setCodigo(Integer.parseInt(JOptionPane
						.showInputDialog("Digite o Código do Produto")));

				nomeDep = JOptionPane
						.showInputDialog("Digite o Nome do Departamento");
				gerente = JOptionPane
						.showInputDialog("Digite o Nome do Gerente");

				departement = new Depart(nomeDep, gerente, pro[i]);

				// introduzir o departamento no Hash

				MapDepart.put(nomeDep, departement);

				i++;

			} else if (op.equalsIgnoreCase("2")) {

				//ver o departamento a pesquisar
				
				String nomedpeskisar = JOptionPane
						.showInputDialog("Entre com o Nome do Departamento a pesquisar");

				if (MapDepart.containsKey(nomedpeskisar)) {

					System.out.println(MapDepart.get(nomedpeskisar).toString());

				} else
					System.out
							.println("Este departamento nao se encontra registrado na nossa base de Dados !");

			} else if (op.equalsIgnoreCase("3"))
				break;
		}
		System.exit(0);
	}

}

Conselho, antes de programar? pense e estruture o que precisas e o que vais precisar no futuro. O segredo nao esta em botar linhas de codigo....mas sim programaçao estruturada.

O codigo acima nao faz tudo que precisas mas ja tem as directrizes pra la chegar..
qualquer coisa poste sua duvida!!!

Criado 17 de setembro de 2009
Ultima resposta 17 de set. de 2009
Respostas 2
Participantes 3