ALGUEM ME AJUDA NESSE CODIGO JAVA POR FAVOR (netbeens)

Gente por favor, eu fiz tudo certo nesse codigo mas ele não executa a parte de ler o combustivel, passa direto, alguem me ajuda por favor `Scanner leitor = new Scanner(System.in);

   String c;
   float ValorDescontoCliente, ValorAserPagoCliente,  ValorVeiculo;
   float TotalValorDescontoCliente = 0, TotalValorAserPagoCliente = 0;
   float Desconto = 0;
   
   System.out.println("Informe o valor do Veiculo");
   ValorVeiculo = leitor.nextFloat();
   
   System.out.println("INFORME O TIPO DO COMBUSTIVEL");
   System.out.println("-----------------------------");
   System.out.println("A - Alcool");
   System.out.println("G - Gasolina");
   System.out.println("D - Diesel");
   
   c = leitor.nextLine();
   
   switch(c) {
   
       case "A":
           Desconto = (float) (0.25 * ValorVeiculo);
           break;
       case "G":
           Desconto = (float) (0.21 * ValorVeiculo);
           break;
       case "D":
           Desconto = (float) (0.14 * ValorVeiculo);
           break;
       default:
           System.out.println("Opcao Invalida");
           break;
    }
           
    TotalValorDescontoCliente = TotalValorDescontoCliente + Desconto;
    ValorAserPagoCliente = ValorVeiculo - Desconto;
    
    TotalValorAserPagoCliente = TotalValorAserPagoCliente + ValorAserPagoCliente;
    
    System.out.println("O desconto sera no valor de: " + Desconto + "E o valor"
            + "pago será de: " + ValorAserPagoCliente);`

Olhem só como fica, alguém me ajuda por favor, Não consigo informar o tipo de combustivel de jeito nenhum

Dicas:

  • O nome da IDE que você está usando é NetBeans e não netbeens.
  • Procure utilizar um título mais claro e objetivo suas dúvidas, “Alguém me ajuda nesse código…” é muito vago e a maioria vai simplesmente ignorar.

É exatamente o mesmo problema que o @TerraSkilll já te explicou neste tópico aqui.
Quando ler entrada de dados a partir do teclado, utilize somente o método nextLine().

2 curtidas

O problema que o dado é float e esse codigo só funciona para dados int parece, como fazer para substituir com int e com string?

Sim, a classe Integer tem métodos para converter String para int.

Assim como a classe Float tem métodos para converter String para float:

// nomes de variáveis sempre começam em minúsculo
valorVeiculo = Float.parseFloat( leitor.nextLine() );

Estude as classes wrapper…

2 curtidas

Brigadão, funcionou, antes de eu ir pras classes Wrapper, como funcionaria se meu dado fosse uma string?

Basta usar o retorno do método nextLine diretamente:

minhaString = leitor.nextLine();
1 curtida

Brigado