Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class G5E11ExpendedorDePasajes {
- private double precioPorKm;
- private int cantidadDePasajesVendidos;
- private double distanciaMaximaGuardada;
- private double distanciaTotalGuardada;
- /* CONSTRUCTOR post: inicializa el atributo precioPorKm con el valor recibido por el parámetro
- * del mismo nombre si el valor es mayor a 0. Sino, se inicializa el atributo precioPorKm en 0.0. */
- public G5E11ExpendedorDePasajes(double precioPorKm){
- if (precioPorKm > 0.0){
- this.precioPorKm = precioPorKm;
- }
- else{
- precioPorKm = 0.0;
- }
- }
- /* pre: se pasa como parámetro una distanciaEnKm mayor a 0.
- * post: si se cumplen las pre, se suma +1 a la cantidadDePasajesVendidos, se consulta si la distanciaEnKm
- * es superior a la distanciaMaximaGuardada, se agrega la distanciaEnKm a la distanciaTotalGuardada, y se devuelve
- * el precio del pasaje (el producto entre el atributo precioPorKm y el parámetro pasado distanciaEnKm).
- * Sino se cumplen las pre, se devuelve 0.
- */
- public double venderPasaje (double distanciaEnKm){
- if (distanciaEnKm > 0){
- cantidadDePasajesVendidos++;
- if (distanciaEnKm > distanciaMaximaGuardada){
- distanciaMaximaGuardada = distanciaEnKm;
- }
- distanciaTotalGuardada = distanciaTotalGuardada + distanciaEnKm;
- return (precioPorKm * distanciaEnKm);
- }
- else {
- return (0);
- }
- }
- /* pre: se pasa como parámetro una distanciaEnKm y una cantidad mayores a 0.
- * post: si se cumplen las pre, se suma la cantidad a la cantidadDePasajesVendidos y se devuelve
- * el precio total de los pasajes (el producto entre la cantidad e invocar el método venderPasaje
- * con el parámetro distanciaEnKm).
- * Sino se cumplen las pre, se devuelve 0.
- */
- public double venderPasajes (int cantidad, double distanciaEnKm){
- if (cantidad > 0 && distanciaEnKm > 0){
- /* Se suma el parámetro pasado cantidad a la cantidadDePasajesVendidos. Se resta -1 para anular
- * la suma de +1 que se hará al invocar el método venderPasaje. */
- cantidadDePasajesVendidos = cantidadDePasajesVendidos + cantidad -1;
- return (cantidad * venderPasaje (distanciaEnKm));
- }
- else {
- return (0);
- }
- }
- /* post: devuelve la cantidadDePasajesVendidos. */
- public int pasajesVendidos(){
- return (cantidadDePasajesVendidos);
- }
- /* post: devuelve la distanciaMaximaGuardada en un pasaje. */
- public double distanciaMaxima(){
- return (distanciaMaximaGuardada);
- }
- /* post: devuelve la distanciaPromedio de los pasajes. */
- public double distanciaPromedio(){
- return (distanciaTotalGuardada / cantidadDePasajesVendidos);
- }
- /* post: devuelve la el total de dinero realizado, multiplicando el precioPorKm por la distanciaTotalGuardada. */
- public double ventaTotal(){
- return (precioPorKm * distanciaTotalGuardada);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement