hola Buenas Tardes java Hispanos, soy nuevo en foro y les pido un enorme favor que me ayuden con este proyecto de java....Explicación
el proyecto que tengo esta todo completo en el código JAVA en eclipse, pero me piden que a ese mismo proyecto crear un nuevo atributo el cual es el siguiente.
Informar cuántos conductores tienen un carro con modelo superior a determinado año.
Sobre este nuevo requerimiento se debe: 1. Analizar el requerimiento. 2. Descomponer el requerimiento en pasos. (Utilizar técnica de descomposición de requerimientos y del experto sobre el requerimiento. 3. Crear nuevo atributo 4. Desarrollar el contrato, signatura y cuerpo del método dar del atributo creado. 5. Desarrollar el contrato, signatura y cuerpo de cada uno de los métodos adicionales que requiere para cumplir con el nuevo requerimiento
con mas importancia ayudenme a resolver el 3 4 y 5
creo que es en esta clase Conductor donde hay que hacer lo que necesito,,,,
por favor Ayudenme..Muchas Gracias
/** * Clase que representa a un conductor. */ public class Conductor {
/** * Retorna el nombre completo del conductor. * @return Nombre del conductor. */ public String darNombre( ) { return nombre; }
/** * Retorna la cédula del conductor. * @return Cédula del conductor. */ public String darCedula( ) { return cedula; }
/** * Retorna la placa del carro que maneja el conductor. * @return Placa del carro que maneja el conductor. */ public String darPlacaCarro( ) { return placaCarro; }
/** * Retorna el modelo del carro que maneja el conductor. * @return Modelo del carro que maneja el conductor. */ public String darModeloCarro( ) { return modeloCarro; }
/** * Retorna la ruta de la foto del conductor. * @return Ruta de la foto del conductor. */ public String darRutaFoto( ) { return rutaFoto; }
/** * Retorna la cantidad de asientos disponibles del carro del conductor. * @return Cantidad de asientos disponibles en el carro del conductor. */ // TODO Parte 2, punto 4: Copie el contrato y la implementación. public int darCantidadAsientosDisponibles( ) { return cantidadAsientosDisponibles; }
/** * Retorna la carrera asignada al conductor. * @return Carrera asignada al conductor. */ public Carrera darCarreraActual( ) { return carreraActual; }
/** * Indica si el conductor está disponible. * @return True si el conductor está disponible, false de lo contrario. */ public boolean estaDisponible( ) { // TODO Parte 2 Punto C: Completar el método según la documentación dada. if(carreraActual == null ) return true; return false; }
/** * Asigna una carrera al conductor usando los datos recibidos por parámetro.
* post: La carrera actual fue creada y asignada. * @param pNombre Nombre del usuario. pNombre != null && pNombre != "". * @param pTelefonoCelular Número de teléfono celular del usuario. pTelefonoCelular > 0. * @param pMedioDePago Medio de pago del usuario. pMedioDePago pertenece{Carrera.PAGO_TARJETA, Carrera.PAGO_EFECTIVO}. * @param pOrigen Origen de la carrera. pOrigen != null && pOrigen != "". * @param pDestino Destino de la carrera. pDestino != null && pDestino != "". * @param pCantidadPasajeros Cantidad de pasajeros de la carrera. pCantidadPasajeros > 0. */ public void asignarCarrera( String pNombre, int pTelefonoCelular, String pMedioDePago, String pOrigen, String pDestino, int pCantidadPasajeros ) { carreraActual = new Carrera( pNombre, pTelefonoCelular, pMedioDePago, pOrigen, pDestino, pCantidadPasajeros ); }
// TODO Modifique el contrato del método según la implementación. public void terminarCarrera( int pDuracion, double pDistancia ) throws Exception { // TODO Modificar método if( estaDisponible() ) { throw new Exception( "El conductor no tiene ninguna carrera asignada." ); } carreraActual.terminarCarrera( pDuracion, pDistancia ); }
/** * Calcula el costo adicional de la carrera teniendo en cuenta la tarifa de duración y la tarifa de distancia recibidas por parámetro. * @param pTarifaDuracion Tarifa sobre la duración de la carrera a tener en cuenta. pTarifaDuracion > 0. * @param pTarifaDistancia Tarifa sobre la distancia de la carrera a tener en cuenta. pTarifaDistancia > 0. * @return Costo adicional de la carrera. */ public double calcularCostoAdicional( double pTarifaDuracion, double pTarifaDistancia ) { return pTarifaDuracion * carreraActual.darDuracion( ) + pTarifaDistancia * carreraActual.darDistancia( ); }
/** * Termina el servicio que tiene el conductor actualmente si la carrera ya terminó.
* pre: El conductor tiene una carrera actual.
* post: La carrera actual fue modificada a null. * @return True si terminó el servicio, false si la carrera no estaba terminada. */ public boolean terminarServicio( ) { // TODO Parte 2 Punto F: Complete el método según la información dada. if (carreraActual.darEstado().equals(Carrera.TERMINADA)) { carreraActual = null; return true; } return false; }
hola Buenas Tardes java Hispanos, soy nuevo en foro y les pido un enorme favor que me ayuden con este proyecto de java....Explicación
el proyecto que tengo esta todo completo en el código JAVA en eclipse, pero me piden que a ese mismo proyecto crear un nuevo atributo el cual es el siguiente.
Informar cuántos conductores tienen un carro con modelo superior a determinado año.
Sobre este nuevo requerimiento se debe:
1. Analizar el requerimiento.
2. Descomponer el requerimiento en pasos. (Utilizar técnica de descomposición de requerimientos y del experto sobre el requerimiento.
3. Crear nuevo atributo
4. Desarrollar el contrato, signatura y cuerpo del método dar del atributo creado.
5. Desarrollar el contrato, signatura y cuerpo de cada uno de los métodos adicionales que requiere para cumplir con el nuevo requerimiento
con mas importancia ayudenme a resolver el 3 4 y 5
creo que es en esta clase Conductor donde hay que hacer lo que necesito,,,,
por favor Ayudenme..Muchas Gracias
/**
* Clase que representa a un conductor.
*/
public class Conductor
{
// -----------------------------------------------------------------
// Atributos
// -----------------------------------------------------------------
/**
* Nombre completo del conductor.
*/
private String nombre;
/**
* Cédula del conductor.
*/
private String cedula;
/**
* Placa del carro que maneja el conductor.
*/
private String placaCarro;
/**
* Modelo del carro que maneja el conductor.
*/
private String modeloCarro;
/**
* Ruta donde se encuentra la foto del conductor.
*/
private String rutaFoto;
/**
* Carrera actual del conductor.
*/
// TODO Parte 2 punto A: Declare el atributo carreraActual de tipo Carrera.
private Carrera carreraActual;
/**
* Representa la cantidad de asientos disponibles del carro.
*/
private int cantidadAsientosDisponibles;
// -------------------------------------------------------------
// Constructor
// -------------------------------------------------------------
/**
* Crea el conductor con los valores dados por parámetro.
* post: El nombre, la cédula, la placa y el modelo del carro y la foto fueron inicializados con los valores dados por parámetro.
* La carrera fue inicializada en null.
* @param pNombre Nombre del conductor. pNombre != null && pNombre != "".
* @param pCedula Cédula del conductor. pCedula != "" && pCedula != null.
* @param pPlaca Placa del carro conductor. pPlaca != null && pPlaca != "".
* @param pModeloCarro Modelo del carro del conductor. pModeloCarro != null && pModeloCarro != "".
* @param pRutaFoto Ruta donde se encuentra la foto del conductor. pImagen != null && pImagen != "".
*/
public Conductor( String pNombre, String pCedula, String pPlaca, String pModeloCarro, String pRutaFoto, int pCantidadAsientos )
{
nombre = pNombre;
cedula = pCedula;
placaCarro = pPlaca;
modeloCarro = pModeloCarro;
rutaFoto = pRutaFoto;
// TODO Parte 2 punto B: Inicialice el atributo carreraActual según la documentación dada.
carreraActual = null;
cantidadAsientosDisponibles = pCantidadAsientos;
}
// -----------------------------------------------------------------
// Métodos
// -----------------------------------------------------------------
/**
* Retorna el nombre completo del conductor.
* @return Nombre del conductor.
*/
public String darNombre( )
{
return nombre;
}
/**
* Retorna la cédula del conductor.
* @return Cédula del conductor.
*/
public String darCedula( )
{
return cedula;
}
/**
* Retorna la placa del carro que maneja el conductor.
* @return Placa del carro que maneja el conductor.
*/
public String darPlacaCarro( )
{
return placaCarro;
}
/**
* Retorna el modelo del carro que maneja el conductor.
* @return Modelo del carro que maneja el conductor.
*/
public String darModeloCarro( )
{
return modeloCarro;
}
/**
* Retorna la ruta de la foto del conductor.
* @return Ruta de la foto del conductor.
*/
public String darRutaFoto( )
{
return rutaFoto;
}
/**
* Retorna la cantidad de asientos disponibles del carro del conductor.
* @return Cantidad de asientos disponibles en el carro del conductor.
*/
// TODO Parte 2, punto 4: Copie el contrato y la implementación.
public int darCantidadAsientosDisponibles( )
{
return cantidadAsientosDisponibles;
}
/**
* Retorna la carrera asignada al conductor.
* @return Carrera asignada al conductor.
*/
public Carrera darCarreraActual( )
{
return carreraActual;
}
/**
* Indica si el conductor está disponible.
* @return True si el conductor está disponible, false de lo contrario.
*/
public boolean estaDisponible( )
{
// TODO Parte 2 Punto C: Completar el método según la documentación dada.
if(carreraActual == null )
return true;
return false;
}
/**
* Asigna una carrera al conductor usando los datos recibidos por parámetro.
* post: La carrera actual fue creada y asignada.
* @param pNombre Nombre del usuario. pNombre != null && pNombre != "".
* @param pTelefonoCelular Número de teléfono celular del usuario. pTelefonoCelular > 0.
* @param pMedioDePago Medio de pago del usuario. pMedioDePago pertenece{Carrera.PAGO_TARJETA, Carrera.PAGO_EFECTIVO}.
* @param pOrigen Origen de la carrera. pOrigen != null && pOrigen != "".
* @param pDestino Destino de la carrera. pDestino != null && pDestino != "".
* @param pCantidadPasajeros Cantidad de pasajeros de la carrera. pCantidadPasajeros > 0.
*/
public void asignarCarrera( String pNombre, int pTelefonoCelular, String pMedioDePago, String pOrigen, String pDestino, int pCantidadPasajeros )
{
carreraActual = new Carrera( pNombre, pTelefonoCelular, pMedioDePago, pOrigen, pDestino, pCantidadPasajeros );
}
// TODO Modifique el contrato del método según la implementación.
public void terminarCarrera( int pDuracion, double pDistancia ) throws Exception
{
// TODO Modificar método
if( estaDisponible() )
{
throw new Exception( "El conductor no tiene ninguna carrera asignada." );
}
carreraActual.terminarCarrera( pDuracion, pDistancia );
}
/**
* Calcula el costo adicional de la carrera teniendo en cuenta la tarifa de duración y la tarifa de distancia recibidas por parámetro.
* @param pTarifaDuracion Tarifa sobre la duración de la carrera a tener en cuenta. pTarifaDuracion > 0.
* @param pTarifaDistancia Tarifa sobre la distancia de la carrera a tener en cuenta. pTarifaDistancia > 0.
* @return Costo adicional de la carrera.
*/
public double calcularCostoAdicional( double pTarifaDuracion, double pTarifaDistancia )
{
return pTarifaDuracion * carreraActual.darDuracion( ) + pTarifaDistancia * carreraActual.darDistancia( );
}
/**
* Termina el servicio que tiene el conductor actualmente si la carrera ya terminó.
* pre: El conductor tiene una carrera actual.
* post: La carrera actual fue modificada a null.
* @return True si terminó el servicio, false si la carrera no estaba terminada.
*/
public boolean terminarServicio( )
{
// TODO Parte 2 Punto F: Complete el método según la información dada.
if (carreraActual.darEstado().equals(Carrera.TERMINADA))
{
carreraActual = null;
return true;
}
return false;
}
}