Alguém pode me ajudar nesse exercício ? Mostrar o valor do Estacionamento de cada veículo. Caso o veículo seja estacionado a partir das 13h é cobrado meia diária

import java.util.Scanner;
public class FH__ {
	
	public static void main(String [] args)  {
		
		Scanner in = new Scanner(System.in);
		
		 final double AUTO_PASSEIO_DIARIA = 50, VAN_DIARIA = 100, ONIBUS_DIARIA = 200; 
		 int entradaEstacionamento = 0; 
		 double valorTotal = 0, valorEstacionamento, mediaDiaria;
	         char veiculo = ' ';
        
	     do {
	    	    System.out.println("Qual veículo foi estacionado?  A- Auto Passeio / V- Van / O- Ônibus / F- Fim do dia  ");
	     		veiculo = in.nextLine().charAt(0);
	     		veiculo = Character.toUpperCase(veiculo);
	     		
	     		if(veiculo == 'F') {
	     			break;
	     		}
	     		
	     		if(veiculo != 'A' && veiculo != 'V' && veiculo != 'O') {
	     			System.out.println("Veiculo incorreto! ");
	     			continue;
	     		}
	     		
	     		System.out.print("\nHora de entrada no estacionamento das 7 às 17 horas - " + veiculo + ":");
	     		entradaEstacionamento = in.nextInt();
	     		in.nextLine();
	     		
	     		while(entradaEstacionamento < 7 || entradaEstacionamento > 17) {
	     		System.out.print("Horário incorreto! " + "Hora de entrada no estacionamento das 7 às 17 horas - " + veiculo + ":");
	   			entradaEstacionamento = in.nextInt();
	     		in.nextLine();
	     		}
	     		
	     		if(veiculo == 'A'){
	     			valorEstacionamento = AUTO_PASSEIO_DIARIA;
	     			System.out.println("Valor do estacionamento: " + valorEstacionamento);
	     			valorTotal = valorTotal + valorEstacionamento;
	     		}else if(veiculo == 'V') {
	     			valorEstacionamento = VAN_DIARIA;
	     			System.out.println("Valor do estacionamento: " + valorEstacionamento);
	     			valorTotal = valorTotal + valorEstacionamento;      			     		
	     		}else{
	     			valorEstacionamento = ONIBUS_DIARIA;
	     			System.out.println("Valor do estacionamento: " + valorEstacionamento);
	     			valorTotal = valorTotal + valorEstacionamento;
	     		}
	     			     
	     }while(true);
	     			
	     	if (veiculo == 'F') {
              System.out.printf("Total do estacionamento: R$ %.2f", valorTotal);
              }
	}
}
	

    

 


Como faço para aparecer a meia diária de cada veículo se for colocado o horário das 13h e o preço normal do estacionamento se o veiculo não for estacionado as 13h.

você pode usar essa função nela vc passa um int que é a hora de entrada do estacionamento e um Double que seria o valor do estaconamento que seria uma daquelas constantes que vc declarou, no final ela so testa se a hora de entrada é maior ou igual a 13 , se sim ela divide o valor por dois se nao ela so retorna o valor completo msm!

 private static double isMeiaDiaria(int entradaEstacionamento, double valorEstacionamento){

        double valorFinal = valorEstacionamento;

        if(entradaEstacionamento>=13){
            valorFinal = valorFinal / 2;
        }

        return valorFinal;
    }

um exemplo de uso

 if(veiculo == 'A'){
                //tem que fazer isso de acordo com cada veiculo selecionado
                valorEstacionamento = isMeiaDiaria(entradaEstacionamento,  AUTO_PASSEIO_DIARIA);
                System.out.println("Valor do estacionamento: " + valorEstacionamento);
                valorTotal = valorTotal + valorEstacionamento;
}
1 curtida