Como faço para fazer um sistema de estoque, usando duas estruturas de dados ao mesmo tempo?[size=18] [/size]
[code]package Entidades;
public class estoque {
private String limpeza;
private String cereais;
private String diversos;
public estoque(String limpeza, String cereais, String diversos){
this.limpeza = limpeza;
this.cereais = cereais;
this.diversos = diversos;
}
public String getLimpeza() {
return limpeza;
}
public void setLimpeza(String limpeza) {
this.limpeza = limpeza;
}
public String getCereais() {
return cereais;
}
public void setCereais(String cereais) {
this.cereais = cereais;
}
public String getDiversos() {
return diversos;
}
public void setDiversos(String diversos) {
this.diversos = diversos;
}
public String mosTrarEstoque(){
String estoque = “Os produtos cadastrados foram: “+”\n Limpeza” + limpeza
+ “\n Cereais " +cereais
+ " Outros produtos” + diversos;
return estoque;
}
public String MostrarEstoque2(){
String estoque="Os produtos removidos foram: " + limpeza + “: " +cereais+ " : " + diversos;
return estoque;
}
public String MostrarEstoque3(){
String estoque=” produtos: " + limpeza + ": " +cereais+ " : " + diversos;
return estoque;
}
}
package Estruturas;
import javax.swing.JOptionPane;
import Entidades.estoque;
public class Fila {
private estoque[] fila;
private int ultimo,primeiro;
int contador=0;
public Fila(int tamanho){
fila = new estoque[tamanho];
ultimo = -1;
primeiro = 0;
}
public void adiciona(estoque estoque){
if(ultimo < fila.length-1 ){
ultimo++;
fila[ultimo] = estoque;
}else{
JOptionPane.showMessageDialog(null, "Fila Cheia");
}
}
public estoque remove(){
estoque temp;
if(ultimo != -1){
temp=fila[primeiro];
primeiro++;
if(primeiro > ultimo){
primeiro=0;
ultimo=-1;
}
return(temp);
}else{
System.out.println("Status: Fila");
return (null);
}
}
public void mostraProx(){
for(int i= primeiro; i <=ultimo ; i++){
JOptionPane.showMessageDialog(null, fila[i].mosTrarEstoque());
}
if(ultimo == -1){
JOptionPane.showMessageDialog(null, "vazia");
}
}
public boolean verificar(){
return (ultimo == -1);
}
public int tamanho(){
return ultimo + 1;
}
}
package Estruturas;
import Entidades.estoque;
public class Stack {
private int maxSize;
private estoque[] stackArray;
private int top;
//metodo construtor
public Stack(int s)
{
maxSize = s;
stackArray = new estoque[maxSize];
top = -1;
}
//insere elementos na pilha
public void push(estoque stackAux)
{
stackArray[++top] = stackAux;
}
public estoque pop(){
return stackArray[top--];
}
public estoque peek(){
return stackArray[top];
}
//verifica se a pilha está vazia
public boolean isEmpty(){
return (top == -1);
}
//verifica se a pilha está cheia
public boolean isFull(){
return (top == maxSize-1);
}
public int getTop() {
return top;
}
[b] public static void exibePilha(){ //exibe os elementos da pilha
String str = "";
for (int i = 0; i < length; i++) {
if(estoque[i] != null)
str += estoque[i];
}
}[/b]
Erro não to conseguindo exibir o o que foi removido tanto na pilha e na fila
}
package SistemaEstoque;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import Entidades.estoque;
import Estruturas.Fila;
import Estruturas.Stack;
public class IniciarSistema {
public static void main(String[] args) {
estoque temp;
JOptionPane.showMessageDialog(null, "Seja Bem vindo ao Systema de Estoque Pelejar","SysEstoque",1);
JOptionPane.showMessageDialog(null, "Pelejando você consegue!","SysEstoque",1);
Stack pilha = new Stack(Integer.parseInt(JOptionPane
.showInputDialog("Quantas lista de compras você deseja efetuar?")));
int tam=Integer.parseInt(JOptionPane.showInputDialog("Quantas lista de compras você deseja efetuar?"));
ArrayList<estoque> lista1 = new ArrayList<estoque>();
Fila fila = new Fila(tam);
int operação = Integer.parseInt(JOptionPane.showInputDialog(""
+" Escolha uma das opções!"
+ "\n1 - Cadastrar Produtos no Sistema"
+ "\n2 - Remover Produtos do Sistema "
+ "\n3 - Verificar se a pilha estar Cheia de produtos"
+ "\n4 - VERIFICAR QUANTIDADES DE VALORES INSERIDOSSistema"
+ "\n5 - MOSTRAR PROXIMO VALOR DA FILA no Sistema"
+ "\n6 - Sair" ));
while (operação != 6) {
if (operação == 1) {
JOptionPane.showMessageDialog(null, "Escolha sua lista de compras");
String limpeza = JOptionPane
.showInputDialog("Quais produto de limpeza você deseja?"+" ");
String cereais = JOptionPane
.showInputDialog("Quais cereais você deseja?"+" ");
String diversos = JOptionPane
.showInputDialog("Quais outro tipo de produto você deseja?"+" ");
estoque e1 = new estoque(limpeza, cereais, diversos);
if (!pilha.isFull()) {
pilha.push(e1);
fila.adiciona(e1);
JOptionPane.showMessageDialog(null, "Lista de compras efetuada com sucesso");
} else {
JOptionPane.showMessageDialog(null,
"Infelizmente a Pilha do sistema esta Cheia de lista de compras, Desculpe-me o transtorno");
}
} else if (operação == 2) {
if (!pilha.isEmpty()) {
temp = pilha.pop();
JOptionPane.showMessageDialog(null, "Produto Removido com Sucesso:\n"+temp.MostrarEstoque2());
temp.mosTrarEstoque();
} else {
JOptionPane.showMessageDialog(null, "A Pilha está vazia");
}
}
else if (operação == 3) {
if (pilha.isEmpty()) {
JOptionPane.showMessageDialog(null, "A Pilha está vazia");
} else if (pilha.isFull()) {
JOptionPane.showMessageDialog(null, "A Pilha está cheia");
} else {
int Quantidadesdeprodutos = pilha.getTop();
Quantidadesdeprodutos++;
JOptionPane.showMessageDialog(null,
"A Pilha não está cheia nem vazia. " + "Possui "
+" "+ Quantidadesdeprodutos + " lista de produtos cadastrados");
}
} else if (operação == 4) {
fila.mostraProx();
}
else if (operação == 5) {
JOptionPane.showMessageDialog(null, fila.tamanho());
}
operação = Integer.parseInt(JOptionPane.showInputDialog(""
+ "\n1 - Cadastrar Produtos"
+ "\n2 - Remover Produtos"
+ "\n3 - Verificar se a pilha estar Cheia"
+ "\n4 - Verificar ultimo Produto Cadastrado"
+ "\n5 - Informar quantos Produtos Cadastrados"
+ "\n6 - Sair do Programa"));
}
JOptionPane.showMessageDialog(null, "Você Saiu do Programa");
}
}
[/code]