Posto Combustível Fidelidade

Um posto está vendendo combustíveis com a seguinte tabela de descontos:
Etanol Até 20 litros, desconto de 4%
Acima de 20 litros, desconto de 6%
Gasolina Até 20 litros, desconto de 6%
Acima de 20 litros, desconto de 8%
O preço cobrado do litro da gasolina é R$ 4,30 e o preço do litro do etanol é de R$3,85.
Além da tabela de desconto, o cliente que possui cartão fidelidade recebe um desconto
extra de 2%. Crie um programa, com a interface adequada, que calcule o valor final a ser
cobrado do cliente. O programa também deve mostrar os descontos aplicados e o valor
em reais dos descontos. Por fim, o programa deve perguntar se o usuário deseja fazer
um novo cálculo, caso a resposta seja “sim”, o programa realiza todos os passos
anteriores novamente, caso seja “não”, o programa encerra.

Não sei fazer :frowning:
Desafio: fornecer um relatório de todas as compras feitas após a finalização do
programa, informando os valores individuais de venda e o valor total.

import java.util.Scanner;
public class Combustível {

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	
	double fi,gas,eta,l,total,calculo,desconto;
	
	System.out.println("Fidelidade?(1)Sim(2)Não");
	fi = sc.nextInt();
	System.out.println("Foi Gasolina(1)Sim(2)Não");
	gas = sc.nextInt();
	System.out.println("Quantidade em litros?");
	l = sc.nextInt();
	
	if (fi==1 && gas == 1&& l<=20){
	  total = (l*4.3)*0.92;
		desconto = total*0.04;
		desconto=  desconto;
	 System.out.println("O valor final é:"+total+"O desconto foi de:" +desconto);
	}
	if (fi==1&&gas==1&& l>20){
	total = (l*4.30)*0.9;
		desconto = total*0.04;
		System.out.println("O total é:"+total);
	}
	if (fi==1&&gas==2&& l<=20){
	total = (l*3.85)*0.94;
		System.out.println("O total é:"+total);
	}
	if (fi==1&&gas==2&&l>20){
	total = (l*3.85)*0.92;
		System.out.println("O total é:"+total);
	}//fim fidelidade
	if (fi==2&&gas==1&&l<=20){
	total = (l*4.3);
		System.out.println("O total é:" +total);
	}
	if (fi==2&&gas==1&&l>20){
	total = (l*4.30);
		System.out.println("O total é: "+total);
	}
	if(fi==2&&gas==2&&l<=20){
	total =(l*3.85);
		System.out.println("O total é:"+total);
	}
	if (fi==2&&gas==2&&l>20){
	total =(l*3.85);
		System.out.println("O total é: "+total);
	}
	System.out.println("Fazer outro calculo?(1)Sim(2)Não");
  calculo = sc.nextInt();
	if (calculo ==1){
		System.out.println("Fidelidade: (1)Sim (2)Não");
		fi = sc.nextInt();
	}

}
}

Sendo bem curto e grosso: isso não é problema nosso, não acha?
Será que não seria mais interessante tentar fazer, tentar aprender?

Este é um fórum que visa compartilhar conhecimento. E isso só vai acontecer caso você tenha interesse. Não estamos aqui para fazer lição de casa, nem trabalhos. Afinal, é um fórum gratuito e livre.
Isso não significa que faremos alguma coisa por caridade ou por dó.

Ou você faz e, caso tenha dúvidas, volta e questiona ou fica difícil tentar ajudar de alguma forma

Já mudei os laços If por do while e estou implementando com algumas dificuldade que vou seguir já que nem dica recebi

Quer uma boa dica? Estuda.
Pega um bom livro, pega uma boa apostila, pega as aulas da Loiane no youtube (de graça ainda) e para de reclamar que ninguém ajuda. Vitimismo não cola, fera.

Obrigado vou seguir estudando depois de pronto te mostro como ficou o monstro.

Um norte: pense como um frentista e um cliente (entenda a regra de negócio)

  • Solicite ao usuário o tipo de combustível a ser abastecido;
  • Solicite ao usuário a quantidade a ser abastecida;
  • Verifique se é gasolina ou etanol/álcool;
  • Verifique se a quantidade é inferior, igual ou superior a 20 litros;
  • Faça os cálculos necessários com base nessas informações;
  • Solicite ao usuário se ele tem ou não o cartão de fidelidade
  • Faça os cálculos necessários com base nessa informação;
    […]
1 curtida

Muito Obrigado vou usar sua dica já fui frentista é bem assim mesmo que fazemos o atendimento kkkk.