remisero

un remisero te lleva de paseo por el conurba
mail@pastecode.io avatar
unknown
java
3 years ago
2.8 kB
4
Indexable
Never
package codigo;

import java.util.Scanner;

public class EjRemis {

	private static Scanner input = new Scanner(System.in);
	
	public static void main(String[] args) {
	
		// es solo para 1 viaje
		// hay que poner las constantes para el exam
		
		String nombre = "";
		String gama = "";
		
		final String ALTA_GAMA = "A";
		final String GAMA_MEDIA = "M";
		final String ECONOMICO = "E";
		
		final int DESG_GAMA_ALTA  = 6;
		final int DESG_GAMA_MEDIA = 4;
		final int DESG_ECONOMICO  = 2;
		
		// porcentajes de desgaste
		int RANGO_ALTO  = 7;
		int RANGO_MEDIO = 5;
		int RANGO_BAJO  = 3;
		
		double porcDesg = 0;
		
		int kmViaje;
		int minutosEspera = 0;
		double importe = 0;
		
		int contViajes = 0;
		double acumImportesViajes = 0;
		
		double promedio;
		
		// ingresar nombre chofer
		
		System.out.println("Ingrese el nombre");
		nombre = input.nextLine();
		
		do {
			System.out.println("Ingrese la gama | `A` alta gama, `M` gama media, `E` economico ");
			gama = input.nextLine().toUpperCase();
		} while( !gama.equals(ECONOMICO) && !gama.equals(GAMA_MEDIA) && !gama.equals(ALTA_GAMA) );
		
		switch(gama) {
			case ECONOMICO: porcDesg = (double)DESG_ECONOMICO/100; 
				break;
			case GAMA_MEDIA: porcDesg = (double)DESG_GAMA_MEDIA/100; 
				break;
			case ALTA_GAMA: porcDesg = (double)DESG_GAMA_ALTA/100; 
				break;
		}
		
		System.out.println(porcDesg);
		System.out.println(gama);
			
		do {
			System.out.println("Ingrese los kilometros");
			kmViaje = Integer.parseInt( input.nextLine() );
		} while( kmViaje < 0 && kmViaje>500);
		
		// not fin de viajes
			
		while(kmViaje > 0) {
			
			contViajes++;
			
			// pido minutos
			do {
				System.out.println("Ingrese el tiempo de espera minutos");
				minutosEspera = Integer.parseInt( input.nextLine() );
			} while( minutosEspera < 0 || minutosEspera >120);
			
			// rango de viajes
			
			if (kmViaje > 1 && kmViaje <= 50) {
				importe = RANGO_ALTO*kmViaje*(1+porcDesg) + 2*minutosEspera;
			} else {
				if(kmViaje > 50 && kmViaje < 120) {
					importe = RANGO_MEDIO*kmViaje*(1+porcDesg) + 2*minutosEspera;
				} else {
					if(kmViaje > 121 && kmViaje < 500) {
						importe = RANGO_BAJO*kmViaje*(1+porcDesg) + 2*minutosEspera;
					}
				}
			}
			
			acumImportesViajes += importe;
			
			do {
				System.out.println("Ingrese los kilometros");
				kmViaje = Integer.parseInt( input.nextLine() );
			} while( kmViaje < 0 && kmViaje>500);
		
		}
		
		if( contViajes > 0) {
		
			promedio = acumImportesViajes/contViajes;
			System.out.println("El promedio de costo por viaje es: " + promedio);
			System.out.println("El nombre del chofer es es: " + nombre);
			System.out.println("El monto total es $ : " + acumImportesViajes);
		
		} else {
			System.out.println("No hubo viajes");
		}
		

	}

}