Problema: Calcular o prêmio (valor a ser pago pelo segurado) de um seguro de automóvel. No caso de carro de procedência nacional, o prêmio é de 10% do valor do veículo, enquanto que no caso de carros importados este percentual sobe para 15%. Sobre este valor é oferecido um desconto que depende da classe de desconto do segurado, a qual te a haver com o tempo de relacionamento do cliente com a seguradora (ver tabela abaixo). Sobre o mesmo valor anterior há ainda outro desconto de 10% caso o segurado tenha mais de 24 anos de idade.
Classe de Desconto Desconto
A 30%
B 20%
C 10%
D 5%
Implemente, então, um procedimento que leia:
o valor do veículo (um número real);
a classe de desconto (uma letra);
indicação se o carro é de procedência nacional (true) ou estrangeira (false);
indicação se o condutor tem mais de 24 anos (true ou false)
e imprima o valor do prêmio de seguro, arredondando o resultado na segunda casa decimal.
Algoritmo:
_import java.util.Scanner;
public class PremioDoSeguro {
public static void main (String args []) {
System.out.println ("Programa para Calcular o Valor do Seguro do Carro: ");
System.out.println ("Calcule o Preço do Veículo: ");
Scanner sc = new Scanner (System.in);
double valorDoVeiculo = sc.nextDouble();
System.out.println ("Digite a Procedência do Veículo: true para Nacional; false para Importado.");
boolean procedencia = sc.nextBoolean();
System.out.println ("Digite o Tipo de Cliente. Cliente A,B,C ou D");
char tipoDeCliente = sc.nextLine().charAt(0);
System.out.println("Digite a Idade do Condutor: ");
int idadeDoCondutor = sc.nextInt();
double valorPremioSeguroInicial = calcularValorPremioSeguroInicial(valorDoVeiculo, procedencia);
System.out.println(valorPremioSeguroInicial);
double valorPremioSeguroMeio = calcularvalorPremioSeguroMeio (valorPremioSeguroInicial, tipoDeCliente);
System.out.println(valorPremioSeguroMeio);
double valorPremioSeguroFinal = calcularvalorPremioSeguroFinal(valorPremioSeguroMeio, idadeDoCondutor); _
System.out.println(valorPremioSeguroMeio);
}
public static boolean calcularValorPremioSeguroInicial (double valorDoVeiculo, char procedencia) {
double valordoseguroinicial = 0.0;
if (procedencia == true) {
valordoseguroinicial = valorDoVeiculo * 0.10;
} else {
valordoseguroinicial = valorDoVeiculo * 0.15;
}
}
public static double calcularvalorPremioSeguroMeio (double valorPremioSeguroInicial, char tipoDeCliente) {
double valorPremioSeguroMeio = 0.0;
switch(tipoDeCliente) {
case 'A':
valorPremioSeguroMeio = valorPremioSeguroInicial * 0.70;
break;
case 'B':
valorPremioSeguroMeio = valorPremioSeguroInicial * 0.80;
break;
case 'C':
valorPremioSeguroMeio = valorPremioSeguroInicial * 0.90;
break;
case 'D':
valorPremioSeguroMeio = valorPremioSeguroInicial * 0.95;
break;
default:
System.out.println("Código Inválido! Escreva A, B, C ou D");
break;
}
return valorPremioSeguroMeio;
}
public static double calcularvalorPremioSeguroFinal (double valorPremioSeguroMeio, int idadeDoCondutor) {
if (idadeDoCondutor > 24) {_
valordosegurofinal = valorPremioSeguroMeio * 0.9;
} else {
valordosegurofinal = valorPremioSeguroMeio;
}
return valordosegurofinal;_
}
}
Por gentileza, alguém pode me ajudar a corrigir todo este Algoritmo?