begin process at 2008 08 29 08:51:50
1 233 528 membres
67 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème pour une formule [ Algorithme / Maths ] (Cocinou)

Problème pour une formule le 17/04/2008 18:17:30

Cocinou


Bonjour à tous,

Je dois rendre un projet en informatique mais je bloque qque part. J'aurais besoin d'aide alors s'il vous plait soyez sympa. Voila mon fichier java :

public void calcule() {
        float montant ;
        int nbannee ;
        float revenu ;
        double mensualite ;
        double tx ;

        montant = new Float(fen.mont.getText()).floatValue() ;
        nbannee = new Integer(fen.nb.getSelectedItem()).intValue() ;
        revenu = new Float(fen.rev.getText()).floatValue() ;
       

        for(int i=0; i<nbannee; i++){
            mensualite = (montant*(tx/12)) / (1-Math.pow(1+(tx/12),(-nbannee*12)));
            }

        boolean condition1 = (nbannee>5)&&(nbannee<30);
        boolean condition2 = (montant <= 100*revenu);
        boolean condition3 = (mensualite < (33/100)*revenu); // condition imposé pour tous les prêts
       
        boolean condition4 = (nbannee>1)&&(nbannee<5) ;
        boolean condition5 = (montant <= 10*revenu);
       
        boolean condition6 = (nbannee>1)&&(nbannee<8);
        boolean condition7 = (montant <= 5*revenu);

        String res1 = "Emprunt";

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

        if (c1=="immobilier"){
            if (condition1 && condition2) {
                tx = 0.04;
                res1 = res1 + "\nLe taux appliqué est de 4% annuel"+ "\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
                if(condition3)
                    res1 += "PRET AUTORISE";
                else res1 += "La mensualité dépasse 33% du revenu mensuel - PRET REFUSE";
                }
            }
        else if(c1=="achat de véhicule") {       
            if(condition4 && condition5) {
                tx = 0.06;
                res1 = res1 + "\nLe taux appliqué est de 6% annuel\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;                        
                if(condition3)
                    res1+="PRET AUTORISE";
                    else res1 += "La mensualité dépasse 33% du revenu mensuel - PRET REFUSE";
                }
            }
        else {
            if(condition6 && condition7) {           
                tx = 0.08;
                res1 = res1 + "\nLe taux appliqué est de 8% annuel\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
                if(condition3)
                    res1 += "PRET AUTORISE";
                    else res1+="La mensualité dépasse 33% du revenu mensuel - PRET REFUSE";
                }
            }       
        fen.res.setText(res1);
        }
    }
Quand je compile il me dit qu'il ne connait pas "mensualite" et "tx". Comment puis je faire pour que ma formule prenne en compte le tx et que la formule calcule avec les conditions que j'ai spécifié. Merci beaucoup. J'attends vos réponses.

Re : Problème pour une formule le 17/04/2008 19:18:12

Chatbour
Membre Club
Salut,

j'ai compilé ton code et mon compilateur (JCreator 4.0) me signale que les variables en question ne sont pas initialisées : c'est tout..



Re : Problème pour une formule le 17/04/2008 20:16:40

Cocinou
je sais ce net pas le fichier entier je le met si tu veux.

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

class Fenetre extends Frame {
    protected Panel p, p1, p2, p3, p4  ;
    protected TextArea res;
    protected TextField mont, rev;
    protected Button suite;
    protected CheckboxGroup cbg;
    protected Checkbox chb1 , chb2, chb3;
    protected Choice nb;
    protected List l;
    protected Delegue delegue;
    protected Adaptateur adapt;

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

        p1 = new Panel();
        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.add(new Label("Montant demandé:"));
        mont = new TextField(12);
        p2.add(mont);
        p2.add(new Label("Nombre d'année de remboursement:"));
        nb = new Choice() ;
        nb.addItem("1") ;
        nb.addItem("2") ;
        nb.addItem("3") ;
        nb.addItem("4") ;
        nb.addItem("5") ;
        nb.addItem("6") ;
        nb.addItem("7") ;
        nb.addItem("8") ;
        nb.addItem("9") ;
        nb.addItem("10") ;
        nb.addItem("11") ;
        nb.addItem("12") ;
        nb.addItem("13") ;
        nb.addItem("14") ;
        nb.addItem("15") ;
        nb.addItem("16") ;
        nb.addItem("17") ;
        nb.addItem("18") ;
        nb.addItem("19") ;
        nb.addItem("20") ;
        nb.addItem("21") ;
        nb.addItem("22") ;
        nb.addItem("23") ;
        nb.addItem("24") ;
        nb.addItem("25") ;
        nb.addItem("26") ;
        nb.addItem("27") ;
        nb.addItem("28") ;
        nb.addItem("29") ;
        nb.addItem("30") ;

        p2.add(nb);
        p.add(p2);

        p3 = new Panel() ;
        p3.add(new Label("Revenu mensuel:"));
        rev = new TextField(12);
        p3.add(rev);
        p.add(p3);

        p4 = new Panel() ;
        suite = new Button("Valider") ;
        p4.add(suite);
        p.add(p4);
        add("North", p) ;
        res = new TextArea();

        add("South", res) ;

        delegue = new Delegue (this);
        adapt = new Adaptateur (delegue);
        this.addWindowListener(adapt);
        suite.addActionListener(adapt);

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

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

     public void calcule() {
        float montant ;
        int nbannee ;
        float revenu ;
        double mensualite ;
        double tx ;

        montant = new Float(fen.mont.getText()).floatValue() ;
        nbannee = new Integer(fen.nb.getSelectedItem()).intValue() ;
        revenu = new Float(fen.rev.getText()).floatValue() ;
       

        for(int i=0; i<nbannee; i++){
            mensualite = (montant*(tx/12)) / (1-Math.pow(1+(tx/12),(-nbannee*12)));
            }

        boolean condition1 = (nbannee>5)&&(nbannee<30);
        boolean condition2 = (montant <= 100*revenu);
        boolean condition3 = (mensualite < (33/100)*revenu); // condition imposé pour tous les prêts
       
        boolean condition4 = (nbannee>1)&&(nbannee<5) ;
        boolean condition5 = (montant <= 10*revenu);
       
        boolean condition6 = (nbannee>1)&&(nbannee<8);
        boolean condition7 = (montant <= 5*revenu);

        String res1 = "Emprunt";

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

        if (c1=="immobilier"){
            if (condition1 && condition2) {
                tx = 0.04;
                res1 = res1 + "\nLe taux appliqué est de 4% annuel"+ "\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
                if(condition3)
                    res1 += "PRET AUTORISE";
                else res1 += "La mensualité dépasse 33% du revenu mensuel - PRET REFUSE";
                }
            }
        else if(c1=="achat de véhicule") {       
            if(condition4 && condition5) {
                tx = 0.06;
                res1 = res1 + "\nLe taux appliqué est de 6% annuel\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;                        
                if(condition3)
                    res1+="PRET AUTORISE";
                    else res1 += "La mensualité dépasse 33% du revenu mensuel - PRET REFUSE";
                }
            }
        else {
            if(condition6 && condition7) {           
                tx = 0.08;
                res1 = res1 + "\nLe taux appliqué est de 8% annuel\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
                if(condition3)
                    res1 += "PRET AUTORISE";
                    else res1+="La mensualité dépasse 33% du revenu mensuel - PRET REFUSE";
                }
            }       
        fen.res.setText(res1);
        }
    }

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

    public void actionPerformed(ActionEvent e) {
          Object src = e.getSource();
        String param = ((Button)src).getLabel();
        if (param == "Valider") delegue.calcule() ;
        }
   
    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) {}
       
    }




Re : Problème pour une formule le 18/04/2008 10:15:23

Cocinou
Comment je les initialise????

Re : Problème pour une formule le 18/04/2008 17:58:47

Chatbour
Membre Club
Réponse acceptée !
Salut,

tu d'après le niveau du code, je pensais que je ne dois pas t'expliquer comment les initialiser : tu peux faire :

private double tx = 0;
private double mensualite = 0;




Re : Problème pour une formule le 19/04/2008 11:02:08

Cocinou

Meric beaucoup ca marche enfin mais la je pense que j'ai un souci avec la formule. Est ce qu'elle est bien écrite? Car il me marque comme résultat 1 ou 0.



Classé sous : montant, tx, res1, if, nbannee

Participer à cet échange

Livres en rapport

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS