Parcelamento de Dívida com percentual variado

11 respostas
K

Olá,

Estou precisando desenvolver uma rotina de parcelamento de dívida para um cliente e estou tendo algumas dificuldades. Pois preciso informar o valor total da dívida, quantidade de parcelas que o cliente deseja pagar, percentual de juros / mês ou ano (seleção). Não sei nem por onde começar, será que poderiam me dar uma ajuda.

Fico no aguardo

Desde já obrigado.

11 Respostas

T

Pelo menos você consegue fazer os cálculos à mão?

Se conseguir, é muito fácil passar para Java.

Por exemplo, se a dívida for de R$ 1000,00, a quantidade de parcelas for 10, o percentual de juros mensais for de 5%, qual é o valor da parcela?

A

Poste o que você já fez, e fica mais facil dar dicas ou sugestões no código…

Att

Y

Olha, tem muita coisa envolvida ai.
Acho que falta você ver com o seu cliente mais detalhes sobre essa função do sistema.
Coisas como, é juros composto, ele pode dar desconto, o valor é fixado pelo juros, pode variar por parcela, etc…
Se você tiver essas regras bem definidas, com certeza vai ser mais fácil para você modelar o processo.

[]´s
Daniel

M

Como já disseram, antes de você se preocupar em programar, você precisa saber fazer o cálculo (manualmente mesmo).

K

Desculpe, não me expressei corretamente.

Na verdade o que preciso realmente é o seguinte (na mão):

Valor total: 1.000,00
Nro. Parcelas: 10
Percentual de Juro Fixo “SIMPLES”: 5%
Data de emissão: 07/01/2010

NRO. PARCELA | DT. VENCIMENTO | VALOR PARCELA

1/10         |     07/01/2010     |     R$ 105,00
    2/10         |     07/02/2010     |     R$ 105,00
    3/10         |     07/03/2010     |     R$ 105,00
    4/10         |     07/04/2010     |     R$ 105,00
    5/10         |     07/05/2010     |     R$ 105,00
    6/10         |     07/06/2010     |     R$ 105,00
    7/10         |     07/07/2010     |     R$ 105,00
    8/10         |     07/08/2010     |     R$ 105,00
    9/10         |     07/09/2010     |     R$ 105,00
   10/10        |     07/10/2010     |     R$ 105,00

==================================
TOTAL DO ACERTO: R$ 1.050,00

Obs: com isso tenho também a necessidade de trabalhar apenas com duas casas decimais no valores quebrados, se possível arredondando a primeira parcela e dividindo o restante em parcelas iguais, entende.

Não sei se pude ser bem claro agora no que estou tendo dificuldades, mas fico grato desde já pela atenção.

Fico no aguardo

Obrigado

M

Você já consegue resgatar o valor total, o número de parcelas e o juro?

A data de emissão vai ser a data atual do sistema ou você resgata também?

Se você tem esses valores, como é juros simples, não há segredo: calcule os n % de juros sobre o valor e divida pelo número de parcelas (procure por DecimalFormat para a parte de formatação).

T

Para adicionar N meses à data atual, use o método add da classe java.util.Calendar.

Para obter os valores truncados e arredondados, você pode multiplicar o valor por 100, tendo o valor em centavos, e então usar long em vez de double. Por exemplo, para dividir 1000,00 por 12:

100000 / 12 = 8333 -> parcela de 83,33.
100000 - 8333 * (12 - 1) = 8337 -> parcela inicial de 83,37.

K

Amigo, a teoria tah perfeita. Preciso de ajuda na prática!

Quanto aos detalhes é simples, formatação da moeda corrente, se a data será retornada a atual do sistema ou informada, etc …

Não posto o código (como comentado anteriormente), modelo, persistência, etc … Porque utilizamos um framework próprio para Desenvolvimento Web e também não vem ao caso até porque é muito grande e esticaria muito o assunto base, o que preciso seria apenas um exemplo de código simples com saída no console mesmo. Ja me ajudaria e muito, quanto a implementação/ajuste em nosso ambiente é o de menos.

Quem sabe em outra oportunidade poderia até mesmo postar a implementação do código no qual ajudaram a desenvolver no ambiente de produção que iremos adaptar.

Um abraço e obrigado pela dica, creio que dessa vez pude ser mais objetivo o possível. Peço desculpas pelo amadorismo pois este é meu primeiro contato com o fórum no qual acho muito completo, participativo, etc … tudo de bom. Parabenizo desde já a todos, pois é o melhor acervo JAVA que já conheci, MEUS PARABÉNS a todos que o fazem dele um sucesso !!!

M

OK! Então poste quais suas dúvidas específicas. Você pediu um exemplo, aqui vai:

import java.util.Calendar;

public class Juros {

	// essas informações serão resgatadas por você, não sei como
	private static final double VALOR_TOTAL = 1110.0;
	private static final int NUMERO_PARCELAS = 12;
	private static final double JUROS = 0.05; // 5%
	private static final Calendar DATA_EMISSAO = Calendar.getInstance();

	public static void main(String[] args) {
		// imprima o cabeçalho no início, caso te interesse
		double montante = VALOR_TOTAL + VALOR_TOTAL * JUROS;
		int montanteEmCentavos = (int) (montante * 100);
		int valorParcela = montanteEmCentavos / NUMERO_PARCELAS;
		int parcela1 = montanteEmCentavos - valorParcela
				* (NUMERO_PARCELAS - 1);
		imprimeInfo(1, NUMERO_PARCELAS, parcela1, DATA_EMISSAO);
		for (int i = 2; i <= NUMERO_PARCELAS; i++) {
			DATA_EMISSAO.add(Calendar.MONTH, 1);
			imprimeInfo(i, NUMERO_PARCELAS, valorParcela, DATA_EMISSAO);
		}
		System.out.printf("%nTotal do acerto: R$ %.2f%n", montante);
	}

	private static void imprimeInfo(int numeroParcela, int totalParcelas,
			int valorEmCentavos, Calendar data) {
		System.out.printf("%02d/%02d\t%td/%tm/%ty\tR$ %.2f%n", numeroParcela,
				totalParcelas, data, data, data, valorEmCentavos / 100.0);
	}

}
K

Ótimo, com esse “singelo” exemplo já resolveu meu problema por completo! (exatamente o que precisava)

Muito OBRIGADO!

Um abraço

até a próxima …

P

O calculo fica um pouco complicado SE for possível adiantar parcelas ou chorar um desconto promocional.

Recomendo vc procurar um livro ou apostila de matemática financeira e ficar por dentro de parcelamento, descontos, juros compostos, simples e de repente SAC e SAF (nada disso é um bixo de sete cabeças, adianto).

Sera que não existem frameworks para (ajudar a) calcular estas coisas em Java (ou outra linguagem)?

Criado 7 de janeiro de 2010
Ultima resposta 7 de jan. de 2010
Respostas 11
Participantes 6