E ai pessoal tudo certo?
Sou novato aqui no guj e também em java.
Meu problema é o seguinte, estou fazendo uma prova da minha faculdade que é o seguinte. Cadastrar varios departamentos, varios produtos, informar o nome do departamento que deseja e mostrar todos os produtos relacionados aquele departamento.
O problema é que quando eu busco por um departamento, ele me mostra TODOS os produtos, de qualquer departamento, sendo que deveria mostrar apenas daquele departamento específico. Segue meu código:
import javax.swing.*;
public class CadastroProduto {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Departamento dep[] = new Departamento[999];
Produto pro[] = new Produto[999];
int p=0;
int d=0;
int op=0;
while(true){
op=Integer.parseInt(JOptionPane.showInputDialog("1- CADASTRA DEPTO \n 2- CADASTRA PRODUTO \n 3- BUSCA POR POR DEPARTAMENTO" +
"\n 4- BUSCA POR PREÇO \n 5- SAIR"));
switch(op){
case 1:
dep[d] = new Departamento();
dep[d].setNomedepto(JOptionPane.showInputDialog("NOME DO DEPARTAMENTO"));
dep[d].setNomegerente(JOptionPane.showInputDialog("NOME DO GERENTE"));
d=d+1;
break;
case 2:
pro[p] = new Produto();
pro[p].setNome(JOptionPane.showInputDialog("NOME DO PRODUTO"));
pro[p].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("CÓDIGO DO PRODUTO")));
pro[p].setPreco(Double.parseDouble(JOptionPane.showInputDialog("PREÇO DO PRODUTO")));
String nomeD=JOptionPane.showInputDialog("EM QUAL DEPARTAMENTO SERA CADASTRADO?");
for(int i=0; i < d; i++){
if(nomeD.equalsIgnoreCase(dep[i].getNomedepto()));
pro[i].setDepartamento(dep[i]);
}
p=p+1;
break;
case 3:
String busca=JOptionPane.showInputDialog("NOME DO DEPARTAMENTO A SER BUSCADO");
String txt="";
for(int i=0; i < d; i++){
if(busca.equalsIgnoreCase(dep[i].getNomedepto())){
for(i=0; i < p; i++){
txt= txt + "\n" + "PRODUTOS:" + " "+ pro[i].getNome();
}
}
}
JOptionPane.showMessageDialog(null," " + txt);
break;
}
}
}
}
Alguem pode me dar uma Luz?
Desde já agradeço