Como faço para fazer um sistema de estoque, usando duas estruturas de dados ao mesmo tempo?

0 respostas
A

Como faço para fazer um sistema de estoque, usando duas estruturas de dados ao mesmo tempo?[size=18] [/size]

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");

	}

}
Criado 7 de dezembro de 2013
Respostas 0
Participantes 1