public static void main(String[] args) {
    CalculadorDeDescontos calculador = new CalculadorDeDescontos();

    Orcamento orcamento = new Orcamento(501.0);
    orcamento.adicionaItem(new Item("Caneta", 250.0));
    orcamento.adicionaItem(new Item("Caneta", 250.0));

    double desconto = calculador.calcula(orcamento);

    System.out.println(desconto);
  }
  public static void main(String[] args) {
    Imposto icpp = new ICPP();
    Imposto ikcv = new IKCV();
    Imposto ihit = new IHIT();
    Orcamento orcamento = new Orcamento(100);
    orcamento.adicionaItem(new Item("CANETA", 400));
    orcamento.adicionaItem(new Item("CANETA", 100));
    orcamento.adicionaItem(new Item("CADERNO", 5));
    orcamento.adicionaItem(new Item("CANETA", 5));

    double valorICPP = icpp.calcula(orcamento);
    double valorIKCV = ikcv.calcula(orcamento);
    double valorIHIT = ihit.calcula(orcamento);
    System.out.printf("Valor do ICPP: %.2f\n", valorICPP);
    System.out.printf("Valor do IKCV: %.2f\n", valorIKCV);
    System.out.printf("Valor do IHIT: %.2f\n", valorIHIT);
  }
Example #3
0
  private boolean temItemMaiorQue100ReaisNo(Orcamento orcamento) {

    for (Item item : orcamento.getItens()) {
      if (item.getValor() > 100.0) {
        return true;
      }
    }

    return false;
  }
 @Override
 public double calcula(Orcamento orcamento) {
   return orcamento.getValor() * 0.06;
 }
Example #5
0
 public double calcula(Orcamento orcamento) {
   return orcamento.getValor() * 0.06 + calculoDoOutroImposto(orcamento);
 }
 @Override
 public void aplicaDescontto(Orcamento orcamento) {
   orcamento.valor -= orcamento.valor * 0.02; // Desconto de 2% caso esteja nos estado APROVADO
 }
 @Override
 public void finaliza(Orcamento orcamento) {
   orcamento.estadoAtual = new Finalizado();
 }
 @Override
 double PrimeiraRegraImposto(Orcamento orcamento) {
   return orcamento.getValorTotal() * 0.05;
 }
 @Override
 boolean condicaoSatisfeita(Orcamento orcamento) {
   return orcamento.getValorTotal() < 500;
 }
 @Override
 double SegundaRegraImposto(Orcamento orcamento) {
   return orcamento.getValorTotal() * 0.07;
 }
 @Override
 public void aprova(Orcamento orcamento) {
   orcamento.estadoAtual = new Aprovado();
 }
 @Override
 public void aplicaDescontoExtra(Orcamento orcamento) {
   orcamento.valor = orcamento.valor * 0.05;
 }
 @Override
 void reprova(Orcamento orcamento) {
   orcamento.estadoAtual = new Reprovado();
 }
Example #14
0
 @Override
 public double minimaTaxacao(Orcamento orcamento) {
   return orcamento.getValor() * 0.06;
 }
Example #15
0
 @Override
 public boolean deveUsarMaximaTaxacao(Orcamento orcamento) {
   return orcamento.getValor() > 500 && temItemMaiorQue100ReaisNo(orcamento);
 }
Example #16
0
 public double calcula(Orcamento orcamento) {
   return orcamento.getValor() * 0.1;
 }