ej_parcial_con_funciones
ej_parcial_con_funcionesunknown
java
5 years ago
3.0 kB
13
Indexable
// parcial THP YT B Santiago Santamaria
package codigo;
import java.util.Scanner;
public class Parcial {
private static Scanner input = new Scanner(System.in);
private final static String CAMIONETA = "C";
private final static String AUTO = "A";
private final static String MOTO = "M";
private final static String FIN_INGRESO = "FIN";
private static String vehiculo;
public static int tarifa = 0;
public static int hora;
public static String patente;
public static boolean horaPico;
public static int totalAbonado = 0;
public static double contVehiculos = 0;
public static double contAutos = 0;
private final static int TARIFA_MOTO = 50;
private final static int TARIFA_AUTO = 100;
private final static int TARIFA_CAMIONETA = 150;
private final static int INI_HPICO = 9;
private final static int FIN_HPICO = 18;
public static void main(String[] args) {
IngresarValidarPatente();
// proceso vehiculo
while (!patente.equals(FIN_INGRESO)) {
IngresarValidarVehiculo();
asignarTarifa();
contarVehiculo();
ingresarValidarHora();
evaluarTarifaHora();
reportarPeaje();
IngresarValidarPatente();
}
reportarResultados();
} // fin MAIN
public static void IngresarValidarPatente() {
do {
System.out.println("Ingrese la patente del vehiculo o FIN para terminar");
patente = input.nextLine().toUpperCase();
} while(patente.isEmpty());
}
public static void IngresarValidarVehiculo() {
do {
System.out.println("Ingrese el tipo de vehiculo | M - Moto, A - Automovil, C o FIN para terminar");
vehiculo = input.nextLine().toUpperCase();
} while( !vehiculo.equals(MOTO) && !vehiculo.equals(AUTO) && !vehiculo.equals(CAMIONETA));
}
public static void asignarTarifa() {
// case tarifas
switch(vehiculo) {
case MOTO: tarifa = TARIFA_MOTO;
break;
case AUTO: tarifa = TARIFA_AUTO;
break;
case CAMIONETA: tarifa = TARIFA_CAMIONETA;
break;
}
}
public static void ingresarValidarHora() {
do {
System.out.println("Ingrese la HORA");
hora = Integer.parseInt( input.nextLine() );
} while( hora < 0 || hora > 23);
}
public static void contarVehiculo() {
contVehiculos++;
if (vehiculo.equals(AUTO)) {
contAutos++;
}
}
public static void evaluarTarifaHora() {
horaPico = hora >= INI_HPICO && hora <= FIN_HPICO;
if(horaPico) {
tarifa = 2*tarifa;
}
totalAbonado += tarifa;
}
public static void reportarResultados() {
if( contVehiculos > 0) {
System.out.println("El total recaudado por la casilla fue: " + totalAbonado);
System.out.println("El porcentaje de vehiculos de tipo Automovil fue : " + contAutos*100/contVehiculos);
} else {
System.out.println("No se ingreso ningun vehiculo");
}
}
public static void reportarPeaje() {
System.out.println("El peaje del vehiculo de patente " + patente + " es : " + tarifa);
}
} // end CLASS
Editor is loading...