Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 1. Ecrivez un programme permettant de
- a)lire le montant d'un achat à crédit(ne pas vérifier qu'il est bien strictement positif)
- b)lire la date (jour mois année) de la première mensualité (vérifier que cette date est bien postérieure à la date actuelle, sinon afficher msg d'erreur et la redemander)
- c)lire le mois et l'année de la dernière mensualité (toutes les mensualités se payent le même jour du mois) (vérifier que cette date est bien postérieure à la date de la première mensulalité, sinon afficher msg d'erreur et la redemander)
- d)calculer et afficher le nombre de mensualités et le montant de celles-ci avec deux décimales.
- Exemple :
- montant total :1000,50
- jour du premier payement(j m a) :1 1 2016
- date impossible
- jour du premier payement(j m a) :3 2 2018
- mois et année du dernier payement( m a) :1 2018
- date impossible
- mois et année du dernier payement( m a) :1 2019
- 12 mensualités de 83,38 euros */
- package interro01;
- import java.time.LocalDate;
- import java.time.Period;
- import java.util.Scanner;
- public class AchatCredit {
- private float credit;
- private LocalDate firstMensu, lastMensu;
- private LocalDate date2;
- public AchatCredit() {
- credit = 0;
- firstMensu = null;
- lastMensu = null;
- date2 = null;
- }
- public void gestion() {
- boolean invalid = true;
- int j, m, a, month = 0;
- Scanner sc = new Scanner(System.in);
- System.out.println("Entrez le montant: ");
- credit = sc.nextFloat();
- do {
- System.out.println("Jour du premier payement (j m a): ");
- j = sc.nextInt();
- m = sc.nextInt();
- a = sc.nextInt();
- firstMensu = LocalDate.of(a, m, j);
- date2 = LocalDate.now();
- if (date2.isAfter(firstMensu)) {
- System.out.println("Entrez une date valide");
- } else {
- invalid = false;
- }
- } while (invalid);
- do {
- invalid = true;
- System.out.println("Dernière mensualité ( m a): ");
- m = sc.nextInt();
- a = sc.nextInt();
- lastMensu = LocalDate.of(a, m, j);
- if (firstMensu.compareTo(lastMensu) >= 0) {
- System.out.println("Entrez une date valide");
- } else {
- invalid = false;
- }
- } while (invalid);
- Period p = firstMensu.until(lastMensu);
- System.out.println("Mois" + p.getMonths() + "jour" + p.getDays() + "année" + p.getYears());
- if (p.getYears() > 0) {
- for (int i = p.getYears(); i > 0; i--) {
- month += 12;
- }
- }
- if (p.getYears() > 0) {
- month += p.getMonths();
- } else {
- month += p.getMonths() + 1;
- }
- credit /= month;
- System.out.printf("Mensualité de: %.2f", credit);
- System.out.println(" en " + month + " mois");
- }
- public static void main(String[] args) {
- AchatCredit a1 = new AchatCredit();
- a1.gestion();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement