0 votos
por (20 puntos) en Java
hola compañeros me encuentro haciendo un programa para un estacionamiento pero tiene errores quisiera saber si me pueden ayudar
El estacionamiento SAN ANDRES, presta servicio de estacionamiento para vehículos livianos. Actualmente su capacidad máxima le permite guardar como máximo  unidades, por lo que debe tener en cuenta esta cantidad al momento de la gestión de alquiler de puestos. Para la realización del sistema es necesario crear la clase:
Puesto, que permitirá el alquiler de puestos, esta deberá poseer una variable denominada maxPuestos que representa la cantidad máxima de puestos que se pueden alquilar.
La clase Puesto deberá tener el siguiente método (esta es una firma referencial)
alquilarPuesto (int cantidad);
Este método permite alquilar el número de puestos especificados por la variable cantidad. Es necesario considerar las siguientes condiciones excepcionales:
- Si ya se alcanzó el número máximo de puestos que se pueden alquilar, el método deberá arrojar la excepción NoHayPuestosException.
- Si se excede de la cantidad de puestos que pueden ser alquilados, no podrán alquilarse más, y se debe lanzar una PuestosInsuficientesException.
Por último, cree una clase llamada Estacionamiento, que instancie la clase Puesto, invoque los métodos y maneje apropiadamente las excepciones.
Nota: La clase Puesto sólo debe tener un constructor que reciba por parámetro el valor con el que se desea inicializar la variable maxPuestos . Esta variable contiene el máximo de puestos que pueden ser alquilados y no puede cambiar su valor.
NOTA: Es necesario que la clase excepción definida por el usuario muestre un mensaje descriptivo, para que sea mostrado adecuadamente en el momento de manejar la excepción.

gracias

 

 

import java.io.*;
import java.util.*;
public class estacionamiento
{
private String placas[];
private int hora[];
private int minuto[];
public final int NO_EXISTE = -1;
public estacionamiento (int lugares)
{

placas = new String [lugares];
hora = new int [lugares];
minuto = new int [lugares];
//marca cada lugar vacio
for (int i = 0 ; i < placas.length ; i++)
placas [i] = "vacio";
} // fin public estacionamiento

public int localiza (String placa)
{
int lugar;
lugar = NO_EXISTE;
for (int i = 0 ; i < placas.length ; i++)
{
if (placas [i].compareTo (placa) == 0)
{
lugar = i;
break;
}
}
return lugar;
}

public void registra (int lugar, String placa, int horaEntrada, int minEntrada)
{
placas [lugar] = placa;
hora [lugar] = horaEntrada;
minuto [lugar] = minEntrada;
}

public int sale (int lugar, int horaSalida, int minSalida)
{
double tiempo;
placas [lugar] = "vacio";
tiempo = horaSalida + minSalida / (double) 60 - hora [lugar] - minuto [lugar] / (double) 60;
tiempo = Math.round (tiempo + 0.25); //redondea a la hora siguiente a los 15
return (int) tiempo;
}

public static void  presentaMenu ()
{
System.out.println ();
System.out.println ("MENU DE MANEJO DEL ESTACIONAMIENTO");
System.out.println ();
System.out.println ("1.- registra auto a la entrada");
System.out.println ("2.- localiza auto");
System.out.println ("3.- salida del auto");
System.out.println ("4- termina la ejecucion del programa");
}

public static void main(String[] args)
{
int tiempo;
new estacionamiento (15);
StdIn in = new StdIn();
int opcion, horas, minutos;
String placa;
final int SALIDA = -1;
opcion = 0;
while (opcion != SALIDA)
{
presentaMenu();
System.out.println ("Elige una opcion");
opcion = in.readInt();
switch (opcion)
{
case 1: //Localiza un lugar vacio
int lugar = localiza ("vacio");
if (lugar == NO_EXISTE)
System.out.println ("No hay cupo en el estacionamiento");
else
{ //Damos a conocer el lugar vacio y pide datos de registro
System.out.println ("El lugar a ocupar es: " + lugar);
System.out.println ("Dame placas");
placa = in.readString();
System.out.println ("Dame hora");
horas = in.readInt ();
System.out.println ("Dame minutos");
minutos = in.readInt ();
public  (lugar, placa, horas, minutos);
} //fin IF
break;
case 2:
//pedir datos
System.out.println ("Dame las placas");
placa = in.readString ();
//Localiza el lugar que ocupa el auto
lugar = localiza (placa);
//Maneja respuesta
if (lugar == NO_EXISTE)
System.out.println ("El auto no esta estacionado aqui");
else
System.out.println ("El auto esta en lugar: " + lugar);
break;
case 3:
//Pide placas
System.out.println ("Dame placas");
placa = in.readString ();
//Localiza lugar
lugar = localiza(placa);
if (lugar == NO_EXISTE)
System.out.println ("El auto no esta estacionado aqui");
else
{
System.out.println ("Dame hora de salida");
horaSalida = in.readInt ();
System.out.println ("Dame minuto de salida");
minSalida = in.readInt ();
tiempo = sale (lugar, horaSalida, minSalida);
int importe = tiempo* 10;
System.out.println ("El importe es: " + importe);
}
break;
case 4:
opcion = SALIDA;
break;
default:
System.out.println ("La opcion es invalida");
break;
} //fin switch
} //fin while
} //fin main
} // Estacionamiento class

1 Respuesta

0 votos
por (8.5k puntos)
Buenas,

Lo primero, los nombres de las clases deben empezar por mayúscula, igual que te dicen en el enunciado del problema: Estacionamiento, Puesto, etc.

Otra cosa, dónde está la clase Puesto? y las clases NoHayPuestosException y PuestosInsuficientesException no las veo y te las piden en el enunciado...además el tema de las horas y minutos? en el enunciado no te lo piden de dónde te lo has sacado?
por
porfavor ayudame con el proyecto, gracias

Preguntas relacionadas

0 votos
0 respuestas
preguntado por AdaelRuiz (20 puntos) Dic 8, 2016 en Java
0 votos
0 respuestas
preguntado por luis silva (40 puntos) Sep 25, 2020 en PHP
0 votos
0 respuestas
0 votos
0 respuestas
preguntado por rodohz (20 puntos) Ene 28, 2016 en General
0 votos
0 respuestas
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...