Java - Ayuda con Colas, Pilas

 
Vista:

Ayuda con Colas, Pilas

Publicado por stack (1 intervención) el 15/06/2006 00:19:33
Hola amigos, necesito ayuda con un programa que tengo que completar... solo seria la parte donde dice "implementar este metodo", yo estoy trabajando en eso pero si alguien me pudiera ayudar.. pues muchas gracias!!!


public class PescaderiaMain {
public static void main(java.lang.String[] args) {
try {
ColaPescaderia cola= new ColaPescaderia();
cola.ponerseEnCola("Elena"); // asignado el núm. 1
cola.ponerseEnCola("Pepe"); // asignado el núm. 2
String nombre= cola.dameCliente(); // saca el núm.1 de la cola
System.out.println("Servir a "+nombre);
cola.ponerseEnCola("Sara"); // asignado el núm. 3
nombre=cola.abandonarCola(2); // elimina al núm.2 de la cola
System.out.println("Abandona "+nombre);
cola.ponerseEnCola("Pedro"); // asignado el núm. 4
System.out.println(cola.toString());
}
catch (Exception e) {
e.printStackTrace();
}
}
}

//*********************************************************************************

/**
* Nodo de la estructura ColaPescaderia. Representa al cliente
* que está esperando en la cola de la pescadería.
*/
class ClienteNodo {
// Número asignado al cliente
int numAsignado;
// Nombre del cliente
String nombre;
// Referencia al siguiente nodo en la cola
ClienteNodo next=null;

/**
* Constructor que permite crear un ClienteNodo a partir
* del número asignado y el nombre del cliente
* @param numAsignado Número asignado al cliente
* @param nombre Nombre del cliente
*/
ClienteNodo (int numAsignado, String nombre) {
this.numAsignado=numAsignado;
this.nombre=nombre;
}
/**
* Devuelve en texto la representación del ClienteNodo
* @return Representación en texto de la clase
*/
public String toString() {
return "Cliente " + numAsignado + ": " + nombre;

}
}

//**************************************************************************************

class ColaPescaderia {

/** Número de clientes en cola. Debe ser incrementado cuando llega
un nuevo cliente y decrementado cuando alguien deja la cola */
private int clientesEnCola=0;

/** Contador de números asignados a los clientes
Debe ser incrementado cada vez que se asigna un nuevo número.*/
private static int contadorNumAsignado=1;

/** Referencia a primero y último de la cola */
private ClienteNodo primero=null;

private ClienteNodo ultimo=null;

/**
* Devuelve si la cola está vacía.
* @return true si la cola está vacía
*/

public boolean estaVacia() {

if(this.clientesEnCola==0)
return true;
else
return false;

}

/**
* Devuelve el número de clientes en cola
* @return int Número de clientes en la cola
*/
public int getClientesEnCola() {

// Implementar este método

}

/**
* Devuelve una referencia al primero de la cola, sin sacarlo de
* la cola
* @return ClienteNodo Nodo del cliente que está primero
* @throw PescaderiaVaciaException Si no hay nadie en cola
*/
public ClienteNodo getPrimero() throws PescaderiaVaciaException {

// Implementar este método

}

/**
* Este método sirve para que el pescadero solicite a la cola el
* siguiente cliente. El método saca el primer cliente de la cola y
* lo borra de ella. Es el método 'desencolar/dequeue' de la cola
* @return String Nombre del cliente
* @throw PescaderiaVaciaException Si la cola no tiene clientes.
*/
public String dameCliente() throws PescaderiaVaciaException {

// Implementar este método

}

/**
* Encola al nuevo cliente en la cola de la pescadería
* Para ello se le asigna un nuevo número.
* @return int Número asignado al cliente
* @param nombre Nombre del cliente que se pone en cola
*/

public int ponerseEnCola(String nombre) {

// Implementar este método

}

/**
* Devuelve un texto representativo de la cola.
* Si la cola está vacía devuelve el texto 'Cola Vacia"
* @return Texto representativo de la cola
* El formato para una cola de 2 personas será:
* Cola de 2 clientes
* Cliente 4: Juan
* Cliente 5: Almudena
*/

public String toString() {

// Implementar este método

}

public int PescaderiaVaciaException {
if ( estaVacia() )
System.out.println("No hay nadie en cola");
else
return null;

}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder