|
|
Universidad Carlos III de Madrid - Departamento de Ingeniería Telemática |
|
| Localización | Personal | Docencia | Investigación | Novedades | Intranet |
|
Datos de la práctica
Enlaces
|
Contenidos |
Este ejericio parte del código de la práctica de Pilas (práctica 8). Descarga los siguientes ficheros:
Debes programar el siguiente método de la clase PilaEnlazada:
public String toString() {
}
Este método debe recorrer la pila desde la cima hasta el fondo y encadenar la representación como texto de sus elementos en una cadena de texto que se debe devolver. Recuerda, debes devolver una cadena de texto con el contenido (aquello que guardamos en cada nodo) en orden. Cada objeto de la pila debe aparecer como una nueva línea dentro de la cadena devuelta.
Puedes probar este apartado ejecutando en un terminal la clase de pruebas proporcionada, con argumento de línea de comandos "1":
$ java PruebaPilaEnlazada 1
Elementos de la pila (top->final):
objeto 12
objeto 11
objeto 10
objeto 09
objeto 08
objeto 07
objeto 06
objeto 05
objeto 04
objeto 03
objeto 02
objeto 01
Se utilizará la pila para guardar las operaciones de caja realizadas en una tienda. La clase Caja utiliza internamente una pila para almacenar operaciones de caja. Programa el método siguiente, que calcula la diferencia entre el dinero que hay en caja y lo que realmente debería haber:
public double comprobarCaja(double efectivoEnCaja) {
(...)
}
Este método recibe el dinero que hay ahora en la caja (efectivoEnCaja) y saca todos los elementos de la pila sumándolos o restándolos según se trate de SALDO(+), ENTRADA(+) o CAMBIO(-). Devuelve la diferencia entre efectivoEnCaja y la cantidad calculada con la pila.
Puedes probar este apartado ejecutando en un terminal la clase de pruebas proporcionada, con argumento de línea de comandos "2":
$ java PruebaPilaEnlazada 2
Elementos de la pila (top->final):
CAMBIO 8.0
ENTRADA 20.0
CAMBIO 7.5
ENTRADA 50.0
CAMBIO 0.25
ENTRADA 30.0
SALDO 300.0
El error de la caja es: 0.0
El error de la caja es: -19.720000000000027
El error de la caja es: 4.579999999999984
Programa un método en la clase PilaEnlazada que permita extraer un elemento del medio, dado su índice. Se considera que el elemento que está al fondo de la pila tiene índice 0, el siguiente 1, y así sucesivamente.
public void eliminarDelMedio(int posicion) {
(...)
}
Pistas:
Puedes probar este apartado ejecutando en un terminal la clase de pruebas proporcionada, con argumento de línea de comandos "3":
$ java PruebaPilaEnlazada 3
Elementos de la pila ANTES de eliminar el de la posicion 2(top->final):
cuarto
Tercer
Segundo
Primer
Elementos de la pila TRAS de eliminar el de la posicion 2( top->final):
cuarto
Segundo
Primer