Projet info

jcdarche56 Messages postés 4 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 10 mai 2008 - 10 mai 2008 à 01:40
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 10 mai 2008 à 08:01
bonjour à tous!
pour mon projet dinfo pour la fac j'ai une simulation demprunt à faire.
Tout marche, mais lorsque la mensualité est calculée et affichée j'ai plein de chiffres après la virgule et j'aimerai savoir comment faire pour n'en avoir aucun et que la mensualité soit arrondie à leuro prè
merci par avance
voici mon fichier

import java.awt.* ;
import java.awt.event.*;

class Fenetre extends Frame {
    protected Panel p,p1,p2,p3,p4;
    protected TextArea texte;
    protected Button bouton1 ;
    protected CheckboxGroup cbg;
    protected Checkbox chb1, chb2, chb3;
    protected Choice c;
    protected TextField tf1, tf2;
    protected Delegue delegue;
    protected Adaptateur adapt;

    Fenetre() {
        p=new Panel();
        p.setLayout(new GridLayout(4,1));

        p1=new Panel();
        p1.setLayout(new FlowLayout());
        p1.add(new Label("Type d'emprunt"));
        cbg=new CheckboxGroup();
        chb1=new Checkbox("immobilier", cbg, true);
        p1.add(chb1);
        chb2=new Checkbox("achat de véhicule", cbg, false);
        p1.add(chb2);
        chb3=new Checkbox("consommation", cbg, false);
        p1.add(chb3);
        p.add(p1);

        p2=new Panel();
        p2.setLayout(new FlowLayout());   
            p2.add(new Label("Montant demandé"));
            tf1=new TextField(10);
            p2.add(tf1);
            p2.add(new Label("Nombres d'années de remboursement "));
            c=new Choice();
                c.addItem("3");
                c.addItem("4");
                c.addItem("5");
                c.addItem("6");
                c.addItem("7");
                c.addItem("8");   
                c.addItem("9");
                c.addItem("10");
                c.addItem("11");
                c.addItem("12");
                c.addItem("13");
                c.addItem("14");
                c.addItem("15");
                c.addItem("16");
                c.addItem("17");
                c.addItem("18");
                c.addItem("19");
                c.addItem("20");
                c.addItem("21");
                c.addItem("22");
                c.addItem("23");
                c.addItem("24");
                c.addItem("25");
                c.addItem("26");
                c.addItem("27");
                c.addItem("28");
                c.addItem("29");
                c.addItem("30");
            p2.add(c);
            p.add(p2);

        p3=new Panel();
        p3.setLayout(new FlowLayout());
        p3.add(new Label("Revenu mensuel"));
        tf2=new TextField(10);
        p3.add(tf2);
        p.add(p3);

        p4=new Panel();
        p4.setLayout(new FlowLayout());
        bouton1=new Button("Valider");
        p4.add(bouton1);
        p.add(p4);

        add("North", p);

        texte=new TextArea();
        add("South", texte);

delegue=new Delegue(this);
adapt=new Adaptateur(delegue);

this.addWindowListener(adapt);
bouton1.addActionListener(adapt);

        }
    }

class Delegue {
    protected Fenetre fen;
Delegue(Fenetre f){
    fen=f;
    }
public void quitter() {
    System.exit(0);
    }

  void calcule(){
   
    float montant ;
        int nbreannees ;
        float revenu ;
         double taux = 0;
    double mensualite=0;

    montant = new Float(fen.tf1.getText()).floatValue() ;
        nbreannees = new Integer(fen.c.getSelectedItem()).intValue() ;
        revenu = new Float(fen.tf2.getText()).floatValue();
   
   
    for(int i=0; i<=nbreannees; i++){

        boolean condition1 = (nbreannees>2)&&(nbreannees<31);
        boolean condition2 = (montant <= 100*revenu);
        boolean condition3 = (3*mensualite <=revenu);
      
        boolean condition4 = (nbreannees>2)&&(nbreannees<11) ;
        boolean condition5 = (montant <= 20*revenu);
      
        boolean condition6 = (nbreannees>2)&&(nbreannees<7);
        boolean condition7 = (montant <= 10*revenu);

        String res = "Voici les résultats de votre demande d'emprunt :";

        String  choix = fen.cbg.getSelectedCheckbox().getLabel() ;

        if (choix=="immobilier"){
        taux=0.05;
        mensualite = (montant*(taux/12)) / (1-Math.pow(1+taux,-nbreannees));
            if ((condition1) && (condition2)) {
               
                res = res + "\nLe taux appliqué est de 0.05 annuel";
        res=res+"\nLe montant de la mensualité est : " + new Double(mensualite).toString() ;
             }
 if ((!condition1)&&(!condition2)){
        res= res+ "\nUn emprunt immobilier est limité à 30 ans";
        res=res+ "\nPRET REFUSE";
}
if((!condition2)&&(condition1)){
res=res+"\nLe montant de l'emprunt est limité à 100 fois le revenu mensuel, soit "+ 100*revenu+" Euros.";
res= res+"\nPRET REFUSE";
}
        if((condition3)&&(condition1)&&(condition2)){
                    res+="\nPRET AUTORISE";
               
                }

if ((!condition3)&&(condition1)&&(condition2)){
res=res+"\nLa mensualite depasse 33% du revenu mensuel";
res=res+"\nPRET REFUSE";
}
            }
        else if(choix=="achat de véhicule") {
        taux=0.06 ;   mensualite = (montant*(taux/12)) / (1-Math.pow(1+taux,-nbreannees)); 
            if((condition4) && (condition5)) {
               
                res = res + "\nLe taux appliqué est de 0.06 annuel";
        res=res+"\nLe montant de la mensualité est : " + new Double(mensualite).toString() ;                       
               }
if ((!condition4)&&(!condition5)){
res=res+"\nUn emprunt pour l'achat d'un véhicule est limité à 10 ans" ;
res=res+"\nPRET REFUSE";
}
if ((!condition5)&&(condition4)){
res=res+"\nLe montant de l'emprunt est limité à 20 fois le revenu mensuel, soit "+ revenu*20+" Euros.";
res=res+"\nPRET REFUSE";
}

if((condition3)&&(condition4)&&(condition5)){
                    res+="\nPRET AUTORISE";
                  
                }
if ((!condition3)&&(condition4)&&(condition5)){
res=res+"\nLa mensualite depasse 33% du revenu mensuel";
res=res+"\nPRET REFUSE";
}

            }
      
 else if(choix=="consommation") {
        taux=0.08;mensualite = (montant*(taux/12)) / (1-Math.pow(1+taux,-nbreannees));
            if((condition6) && (condition7)) {          
              
                res = res + "\nLe taux appliqué est de 0.08 annuel";
res=res+"\nLe montant de la mensualité est : " + new Double(mensualite).toString() ;
     }
if ((!condition6)&&(!condition7)){
res=res+"\nUn emprunt pour consommation est limité à 6 ans";
res=res+"\nPRET REFUSE";
}
if((!condition7)&&(condition6)){
res=res+"\nLe montant de l'emprunt est limité à 10 fois le revenu mensuel, soit "+revenu*10+" Euros.";
res=res+"\nPRET REFUSE";
}
         
if((condition3)&&(condition6)&&(condition7)){
                    res+="\nPRET AUTORISE";
                }
if((!condition3)&&(condition6)&&(condition7)){
res=res+"\nLa mensualité dépasse 33% du revenu mensuel";
res=res+"\nPRET REFUSE";
}
}

                  

           
fen.texte.setText(res);
}

    }

}

class Adaptateur implements WindowListener, ActionListener {
protected Delegue delegue;
Adaptateur(Delegue d) {
delegue=d;
    }

public void windowOpened(WindowEvent e) {}
public void windowClosing(WindowEvent e) {
    delegue.quitter();
    }

public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}

public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
        String param = ((Button)src).getLabel();
        if (param == "Valider") delegue.calcule() ;
    }
}

public class Emprunt {
    public static void main (String args[]) {
        Fenetre f=new Fenetre();
        f.pack();
        f.show();
        }
    }

1 réponse

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
10 mai 2008 à 08:01
Salut,

voici un exemple :

import java.text.*;

class Tester {
    public static void main(String[] args) throws ParseException{
        DecimalFormat df = new DecimalFormat("Integer");
       
        double x = 14.5;
       
        System.out.println(df.parse(df.format(x)));
    }
}
0
Rejoignez-nous