olá galera, sou novo aqui e peço desculpas antecipadas por não enviar o código abaixo do modo que vejo no outros tópicos. :oops:
preciso de um ajuda nesse código, ex: eu entro com 5 numeros na fila (1,2,3,4,5), o 1 está na posição 0 do array e quando vou retirar o numero 1 e colocar outro na
fila, este novo entra no lugar do 1 e não na posição 4 do array. Como faço para que quando entrar com outro numero, o primeiro saia e os outros vão para as
posições da frente e este que entrou fique no lugar do ultimo?
obrigado
import javax.swing.*;
public class Fila{
int tamanho;
int inicio;
int fim;
int result ;
Object vt[];
Fila(int size){
result = 0;
inicio = 0;
tamanho = size;
fim = 0;
vt = new Object[size];
}
public boolean FilaCheia( ){
if (result >= tamanho)
{
return true;
}
else
{
return false;
}
}
public boolean FilaVazia( ){
if (result == 0)
{
return true;
}
else
{
return false;
}
}
public void Enfileirar (Object elemento){
if (! FilaCheia( ))
{
vt[fim] = elemento;
fim = fim + 1;
result = result + 1;
if (fim >= tamanho)
{
fim = 0;
}
}
else
{
JOptionPane.showMessageDialog(null,"Fila Cheia!");
}
}
public Object Desenfileirar (){
Object desenfileirado = null;
if (FilaVazia())
{
JOptionPane.showMessageDialog(null,"Fila Vazia!");
}
else
{
desenfileirado = vt[inicio];
vt[inicio]=null;
inicio++;
result--;
if (inicio == tamanho)
{
inicio = 0;
}
}
return desenfileirado;
}
public void NumInicial( ){
System.out.println("O Número inicial é: " + vt[inicio]);
}
public void MostrarFila( ){
for (int i = 0 ; i < result ; i++)
{
JOptionPane.showMessageDialog(null,"Número " + vt[i] + " posição " + i);
}
}
}
import javax.swing.JOptionPane;
public class App
{
public static void main (String[]args)
{
Fila objFila = new Fila(5);
Object entrada = null;
int i;
int novonum;
objFila.Desenfileirar( );
for (i = 0 ; i < 5 ; i++)
{
entrada = JOptionPane.showInputDialog("Digite um valor inteiro para posição: "+i);
objFila.Enfileirar(entrada);
}
objFila.Enfileirar(entrada);
objFila.MostrarFila( );
objFila.NumInicial( );
JOptionPane.showMessageDialog(null,"Desenfileirar "+objFila.Desenfileirar( ));
novonum =Integer.parseInt(JOptionPane.showInputDialog("Digite novo número para enfileirar"));
objFila.Enfileirar(+novonum);
objFila.MostrarFila( );
JOptionPane.showMessageDialog(null,"Desenfileirar "+objFila.Desenfileirar( ));
System.exit(0);
}
}

