Mayrezym
Messages postés4Date d'inscriptionvendredi 29 avril 2011StatutMembreDernière intervention29 avril 2011
-
29 avril 2011 à 00:12
choubaka
Messages postés39410Date d'inscriptionjeudi 4 avril 2002StatutModérateurDernière intervention 3 janvier 2025
-
29 avril 2011 à 15:19
Bonsoir,
Etant débutante en programmation JAVA, je dois réaliser un programme simple de simulateur de crédit à la consommation...Malheureusement, j'obtiens 2 erreurs persistantes que je ne comprends pas.
protected TextField mttpret, rev, rembmens;
protected Button valider ; // Bouton valider
protected Choice nbmois ;//Nombre de mois de remboursement souhaite 12,24,36,48,60
protected Panel p, p1,p11,p12,p2,p21,p22,p3,p4 ;
protected TextArea res ;// Affiche le message qui autorise ou non attribution du pret et les raisons
protected Adaptateur adapt; //Attribut d'instance à l'interface
protected Delegue delegue; //Attribut d'instance à l'interface
Plan() {
setLayout(new BorderLayout()) ;
p = new Panel() ; // Panel principal de la fenetre
p.setLayout(new GridLayout(4, 1)) ; // Panel décomposé en 4 parties horizontales
p1=new Panel();
p1.setLayout(new GridLayout(1, 2)) ;//Premier panel de p décomposé en 2 parties verticales
p11=new Panel();
p11.add(new Label("Montant du prêt demandé"));//1er partie de p1 qui renseigne sur le montant emprunte desire
mttpret = new TextField (5); // Montant a entrer qui peut etre compose de 5 chiffres (max : 21500)
p11.add(mttpret); //Permet d'afficher le montant emprunte desiree
p1.add(p11); // Affiche l'ensemble du panel p11 dans p1
p12=new Panel();
p12.add(new Label("Revenu mensuel du foyer"));//2eme partie de p1 qui renseigne sur le revenu mensuel de l'emprunteur
rev = new TextField (10); // Montant a entrer qui peut etre compose de 10 chiffres
p12.add(rev) ; //Permet d'afficher le revenu
p1.add(p12) ; // Affiche l'ensemble du panel p12 dans p1
p.add(p1) ; // Affiche l'ensemble du panel p1 dans p
p2=new Panel();
p2.setLayout(new GridLayout(1, 2)) ; //2eme panel de p décomposé en 2 parties verticales
p21=new Panel();
p21.add(new Label("Total des remboursements")); //1er partie de p2 qui renseigne sur le total des remboursements
rembmens = new TextField (10);//Le montant des remboursements peut comporter 10 chiffres
p21.add(rembmens) ; // Permet d'afficher le montant des remboursements
p2.add(p21);//Affiche l'ensemble du panel p21 dans p2
p22=new Panel();
p22.add(new Label("Nombre de mois de remboursement"));
Choice nbmois = new Choice(); // Création d'une liste déroulante qui permettra à l'emprunteur de choisir le nb de mois pour l'échéance du crédit
nbmois.addItem("12");
nbmois.addItem("13");
nbmois.addItem("14");
nbmois.addItem("15");
nbmois.addItem("16");
nbmois.addItem("17");
nbmois.addItem("18");
nbmois.addItem("19");
nbmois.addItem("20");
nbmois.addItem("21");
nbmois.addItem("22");
nbmois.addItem("23");
nbmois.addItem("24");
nbmois.addItem("25");
nbmois.addItem("26");
nbmois.addItem("27");
nbmois.addItem("28");
nbmois.addItem("29");
nbmois.addItem("30");
nbmois.addItem("31");
nbmois.addItem("32");
nbmois.addItem("33");
nbmois.addItem("34");
nbmois.addItem("35");
nbmois.addItem("36");
nbmois.addItem("37");
nbmois.addItem("38");
nbmois.addItem("39");
nbmois.addItem("40");
nbmois.addItem("41");
nbmois.addItem("42");
nbmois.addItem("43");
nbmois.addItem("44");
nbmois.addItem("45");
nbmois.addItem("46");
nbmois.addItem("47");
nbmois.addItem("48");
nbmois.addItem("49");
nbmois.addItem("50");
nbmois.addItem("51");
nbmois.addItem("52");
nbmois.addItem("53");
nbmois.addItem("54");
nbmois.addItem("55");
nbmois.addItem("56");
nbmois.addItem("57");
nbmois.addItem("58");
nbmois.addItem("59");
nbmois.addItem("60");
p22.add(nbmois); // Permet d'afficher le nombre de mois sélectionné
p2.add(p22); //Affiche l'ensemble du panel p22 dans p2
p.add(p2);//Affiche l'ensemble du panel p2 dans p
p3=new Panel();
valider = new Button ("Valider");// Création du bonton valider
p3.add(valider); // Affiche le bonton
p.add(p3); //Affiche l'ensemble du panel p3 dans p
p4 =new Panel();
res = new TextArea();
p4.add(res) ;
// Création d'une zone de texte qui permettra d'afficher le resultat d'octroi ou non du crédit
// Affiche la zone de texte et son contenu
p.add(p4); // Ajoute le panel p4 dans p
add("Center",p); // Centrage des différents panel dans p
delegue = new Delegue(this); //création de la classe delegue
adapt = new Adaptateur(delegue); //création de la classe adaptateur
this.addWindowListener(adapt);
valider.addActionListener(adapt);
} // fin du constructeur Fenetre()
}// fin de la classe Fenetre
class Delegue { // Début de la classe Delegue
protected Plan p ;
Delegue(Plan f) {
p = f ;
}
public void quitter() { // Permet de fermer la fenêtre
System.exit(0);
}
montant = new Float(p.mttpret.getText()).floatValue() ;
nbm = new Integer(p.nbmois.getSelectedItem()).intValue() ;
revenu = new Float(p.rev.getText()).floatValue();
String res = "Voici les résultats de votre demande d'emprunt :";
for (int i=0; i<=nbm; i++) {
if((i>4) && (i<12)) {
tx = 0.067;
res = resultat + "\nLe taux appliqué est de 0.067 annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>12) && (i<36)) {
tx = 0.067;
res = resultat + "\nLe taux appliqué est de 0.067 annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>36) && (i<48)) {
tx = 0.083;
res = res + "\nLe taux appliqué est de 8.3% annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>48) && (i<60)) {
tx = 0.083;
res = resultat + "\nLe taux appliqué est de 8.3% annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
class Adaptateur implements WindowListener, ActionListener{ // Début de la classe Adaptateur
protected Delegue delegue;
Adaptateur (Delegue d) {
delegue = d;
}
// WindowListener
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){}
// ActionListener
public void actionPerformed(ActionEvent e) {
delegue.afficheres() ;
}
} // Fin de la classe Adaptateur
public class Pret{
public static void main(String args[]) {
Plan p = new Plan() ;
p.pack() ;
p.show() ;
}
}
__________________________
Et les erreurs suivantes sont :
Pret.java:213: package f does not exist
f.resultat.removeAll();
^
Pret.java:216: package f does not exist
f.resultat.add(res + "");
^
Note: Pret.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors
choubaka
Messages postés39410Date d'inscriptionjeudi 4 avril 2002StatutModérateurDernière intervention 3 janvier 20252 104 29 avril 2011 à 07:11
Bonjour
C'est donc f qui pose problème, j'ai vu que f était l'argument du constructeur de Delegue, tu dois utiliser à ce moment là p et non plus f
choubaka
Messages postés39410Date d'inscriptionjeudi 4 avril 2002StatutModérateurDernière intervention 3 janvier 20252 104 29 avril 2011 à 07:27
de plus, je vois que tu utilises une méthode qui n'est plus d'application dans java. Recompile comme demandé ou vérifie la javadoc.
petite remarque concernant le remplissage de ta liste de choix pour le nombre de mois.. Utilise une boucle pour le remplissage, ça allège le code.
Mayrezym
Messages postés4Date d'inscriptionvendredi 29 avril 2011StatutMembreDernière intervention29 avril 2011 29 avril 2011 à 11:40
Je te remercie choubaka !
J'ai effectué quelques modifications grâce à divers conseils dont les tiens mais je t'avoue ne pas être douée avec les boucles, mon programme parvient à compiler mais à présent les résultats ne s'affichent pas, aurais je commis des erreurs dans le calcul de mon simulateur de prêt ??
protected TextField mttpret, rev, rembmens;
protected Button valider ; // Bouton valider
protected Choice nbmois ;//Nombre de mois de remboursement souhaite 12,24,36,48,60
protected Panel p, p1,p11,p12,p2,p21,p22,p3,p4 ;
protected TextArea res ;// Affiche le message qui autorise ou non attribution du pret et les raisons
protected Adaptateur adapt; //Attribut d'instance à l'interface
protected Delegue delegue; //Attribut d'instance à l'interface
Plan() {
setLayout(new BorderLayout()) ;
p = new Panel() ; // Panel principal de la fenetre
p.setLayout(new GridLayout(4, 1)) ; // Panel décomposé en 4 parties horizontales
p1=new Panel();
p1.setLayout(new GridLayout(1, 2)) ;//Premier panel de p décomposé en 2 parties verticales
p11=new Panel();
p11.add(new Label("Montant du prêt demandé"));//1er partie de p1 qui renseigne sur le montant emprunte desire
mttpret = new TextField (5); // Montant a entrer qui peut etre compose de 5 chiffres (max : 21500)
p11.add(mttpret); //Permet d'afficher le montant emprunte desiree
p1.add(p11); // Affiche l'ensemble du panel p11 dans p1
p12=new Panel();
p12.add(new Label("Revenu mensuel du foyer"));//2eme partie de p1 qui renseigne sur le revenu mensuel de l'emprunteur
rev = new TextField (10); // Montant a entrer qui peut etre compose de 10 chiffres
p12.add(rev) ; //Permet d'afficher le revenu
p1.add(p12) ; // Affiche l'ensemble du panel p12 dans p1
p.add(p1) ; // Affiche l'ensemble du panel p1 dans p
p2=new Panel();
p2.setLayout(new GridLayout(1, 2)) ; //2eme panel de p décomposé en 2 parties verticales
p21=new Panel();
p21.add(new Label("Total des remboursements")); //1er partie de p2 qui renseigne sur le total des remboursements
rembmens = new TextField (10);//Le montant des remboursements peut comporter 10 chiffres
p21.add(rembmens) ; // Permet d'afficher le montant des remboursements
p2.add(p21);//Affiche l'ensemble du panel p21 dans p2
p22=new Panel();
p22.add(new Label("Nombre de mois de remboursement"));
Choice nbmois = new Choice(); // Création d'une liste déroulante qui permettra à l'emprunteur de choisir le nb de mois pour l'échéance du crédit
nbmois.addItem("12");
nbmois.addItem("13");
nbmois.addItem("14");
nbmois.addItem("15");
nbmois.addItem("16");
nbmois.addItem("17");
nbmois.addItem("18");
nbmois.addItem("19");
nbmois.addItem("20");
nbmois.addItem("21");
nbmois.addItem("22");
nbmois.addItem("23");
nbmois.addItem("24");
nbmois.addItem("25");
nbmois.addItem("26");
nbmois.addItem("27");
nbmois.addItem("28");
nbmois.addItem("29");
nbmois.addItem("30");
nbmois.addItem("31");
nbmois.addItem("32");
nbmois.addItem("33");
nbmois.addItem("34");
nbmois.addItem("35");
nbmois.addItem("36");
nbmois.addItem("37");
nbmois.addItem("38");
nbmois.addItem("39");
nbmois.addItem("40");
nbmois.addItem("41");
nbmois.addItem("42");
nbmois.addItem("43");
nbmois.addItem("44");
nbmois.addItem("45");
nbmois.addItem("46");
nbmois.addItem("47");
nbmois.addItem("48");
nbmois.addItem("49");
nbmois.addItem("50");
nbmois.addItem("51");
nbmois.addItem("52");
nbmois.addItem("53");
nbmois.addItem("54");
nbmois.addItem("55");
nbmois.addItem("56");
nbmois.addItem("57");
nbmois.addItem("58");
nbmois.addItem("59");
nbmois.addItem("60");
p22.add(nbmois); // Permet d'afficher le nombre de mois sélectionné
p2.add(p22); //Affiche l'ensemble du panel p22 dans p2
p.add(p2);//Affiche l'ensemble du panel p2 dans p
p3=new Panel();
valider = new Button ("Valider");// Création du bonton valider
p3.add(valider); // Affiche le bonton
p.add(p3); //Affiche l'ensemble du panel p3 dans p
p4 =new Panel();
res = new TextArea();
p4.add(res) ;
// Création d'une zone de texte qui permettra d'afficher le resultat d'octroi ou non du crédit
// Affiche la zone de texte et son contenu
p.add(p4); // Ajoute le panel p4 dans p
add("Center",p); // Centrage des différents panel dans p
delegue = new Delegue(this); //création de la classe delegue
adapt = new Adaptateur(delegue); //création de la classe adaptateur
this.addWindowListener(adapt);
valider.addActionListener(adapt);
} // fin du constructeur Fenetre()
}// fin de la classe Fenetre
class Delegue { // Début de la classe Delegue
protected Plan p ;
Delegue(Plan f) {
p = f ;
}
public void quitter() { // Permet de fermer la fenêtre
System.exit(0);
}
montant = new Float(p.mttpret.getText()).floatValue() ;
nbm = new Integer(p.nbmois.getSelectedItem()).intValue() ;
revenu = new Float(p.rev.getText()).floatValue();
remb = new Float(p.rembmens.getText()).floatValue();
resultat = new Double (p.res.getText()).doubleValue();
String res = "Voici les résultats de votre demande d'emprunt :";
for (int i=0; i<=nbm; i++) {
if((i>4) && (i<12)) {
tx = 0.067;
res = resultat + "\nLe taux appliqué est de 0.067 annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>12) && (i<36)) {
tx = 0.067;
res = res + "\nLe taux appliqué est de 0.067 annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>36) && (i<48)) {
tx = 0.083;
/////////// ERREUR x
res = resultat + "\nLe taux appliqué est de 8.3% annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>48) && (i<60)) {
tx = 0.083;
res = resultat + "\nLe taux appliqué est de 8.3% annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
class Adaptateur implements WindowListener, ActionListener{ // Début de la classe Adaptateur
protected Delegue delegue;
Adaptateur (Delegue d) {
delegue = d;
}
// WindowListener
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){}
// ActionListener
public void actionPerformed(ActionEvent e) {
delegue.afficheres() ;
}
} // Fin de la classe Adaptateur
public class Pret{
public static void main(String args[]) {
Plan p = new Plan() ;
p.pack() ;
p.show() ;
}
}
________________________
Si quelqu'un pouvait m'éclairer ...
Vous en remerciant ...
choubaka
Messages postés39410Date d'inscriptionjeudi 4 avril 2002StatutModérateurDernière intervention 3 janvier 20252 104 29 avril 2011 à 12:07
tu as effectivement des problèmes dans ta méthode calcule,nulle part, je vois une commande qui demande d'afficher quoi que soit.. c'est donc normal que rien ne s'affiche. Le fait de faire p.res = quelque chose ne modifie pas l'affichage
choubaka
Messages postés39410Date d'inscriptionjeudi 4 avril 2002StatutModérateurDernière intervention 3 janvier 20252 104 29 avril 2011 à 12:38
pour la boucle
int mois = 12;
while (mois < 60){
nbmois.addItem(""+ mois);
mois++;
}
Mayrezym
Messages postés4Date d'inscriptionvendredi 29 avril 2011StatutMembreDernière intervention29 avril 2011 29 avril 2011 à 14:58
Je te remercie encore !
Je ne vois pas comment faire pour afficher mes resultats :s
Faut il que je modifie : void afficheres ? ou que j'insere des system.out.println de partout ?!
Je ne saisis pas bien la différence entre ces 2 éléments...
Ou est-ce la actions Listener ?
J'ai un peu tout essayé mais sans résultat...
J'ai encore modifié mon code qui est devenu ceci :
______________________
import java.awt.* ;
import java.awt.event.* ;//2eme import
class Plan extends Frame {
protected TextField mttpret, rev, rembmens;
protected Button valider ; // Bouton valider
protected Choice nbmois ;//Nombre de mois de remboursement souhaite 12,24,36,48,60
protected Panel p, p1,p11,p12,p2,p21,p22,p3,p4 ;
protected TextArea res ;// Affiche le message qui autorise ou non attribution du pret et les raisons
protected Adaptateur adapt; //Attribut d'instance à l'interface
protected Delegue delegue; //Attribut d'instance à l'interface
Plan() {
setLayout(new BorderLayout()) ;
p = new Panel() ; // Panel principal de la fenetre
p.setLayout(new GridLayout(4, 1)) ; // Panel décomposé en 4 parties horizontales
p1=new Panel();
p1.setLayout(new GridLayout(1, 2)) ;//Premier panel de p décomposé en 2 parties verticales
p11=new Panel();
p11.add(new Label("Montant du prêt demandé"));//1er partie de p1 qui renseigne sur le montant emprunte desire
mttpret = new TextField (5); // Montant a entrer qui peut etre compose de 5 chiffres (max : 21500)
p11.add(mttpret); //Permet d'afficher le montant emprunte desiree
p1.add(p11); // Affiche l'ensemble du panel p11 dans p1
p12=new Panel();
p12.add(new Label("Revenu mensuel du foyer"));//2eme partie de p1 qui renseigne sur le revenu mensuel de l'emprunteur
rev = new TextField (10); // Montant a entrer qui peut etre compose de 10 chiffres
p12.add(rev) ; //Permet d'afficher le revenu
p1.add(p12) ; // Affiche l'ensemble du panel p12 dans p1
p.add(p1) ; // Affiche l'ensemble du panel p1 dans p
p2=new Panel();
p2.setLayout(new GridLayout(1, 2)) ; //2eme panel de p décomposé en 2 parties verticales
p21=new Panel();
p21.add(new Label("Total des remboursements")); //1er partie de p2 qui renseigne sur le total des remboursements
rembmens = new TextField (10);//Le montant des remboursements peut comporter 10 chiffres
p21.add(rembmens) ; // Permet d'afficher le montant des remboursements
p2.add(p21);//Affiche l'ensemble du panel p21 dans p2
p22=new Panel();
p22.add(new Label("Nombre de mois de remboursement"));
Choice nbmois = new Choice(); // Création d'une liste déroulante qui permettra à l'emprunteur de choisir le nb de mois pour l'échéance du crédit
int mois = 12;
while (mois < 60){
nbmois.addItem(""+ mois);
mois++;
}
p22.add(nbmois); // Permet d'afficher le nombre de mois sélectionné
p2.add(p22); //Affiche l'ensemble du panel p22 dans p2
p.add(p2);//Affiche l'ensemble du panel p2 dans p
p3=new Panel();
valider = new Button ("Valider");// Création du bonton valider
p3.add(valider); // Affiche le bonton
p.add(p3); //Affiche l'ensemble du panel p3 dans p
p4 =new Panel();
res = new TextArea();
p4.add(res) ;
// Création d'une zone de texte qui permettra d'afficher le resultat d'octroi ou non du crédit
// Affiche la zone de texte et son contenu
p.add(p4); // Ajoute le panel p4 dans p
add("Center",p); // Centrage des différents panel dans p
delegue = new Delegue(this); //création de la classe delegue
adapt = new Adaptateur(delegue); //création de la classe adaptateur
this.addWindowListener(adapt);
valider.addActionListener(adapt);
} // fin du constructeur Fenetre()
}// fin de la classe Fenetre
class Delegue { // Début de la classe Delegue
protected Plan p ;
Delegue(Plan f) {
p = f ;
}
public void quitter() { // Permet de fermer la fenêtre
System.exit(0);
}
montant = new Float(p.mttpret.getText()).floatValue() ; // Transforme l'entrée de l'utilisateur en flottant
nbm = new Integer(p.nbmois.getSelectedItem()).intValue() ;// Transforme le nombre sélectionné en variable Integer
revenu = new Float(p.rev.getText()).floatValue();// Transforme l'entrée de l'utilisateur en flottant
remb = new Float(p.rembmens.getText()).floatValue();// Transforme l'entrée de l'utilisateur en flottant
String resultat = "Voici les résultats de votre demande d'emprunt :";
if (condition1 && condition2) {
resultat = resultat + "Le montant de la mensualité est:" + new Double(mensualite).toString() ;
if(condition3)
resultat += "PRET AUTORISE";
else resultat += "La mensualité dépasse 33% du revenu mensuel - PRET REFUSE";
}
class Adaptateur implements WindowListener, ActionListener{ // Début de la classe Adaptateur
protected Delegue delegue;
Adaptateur (Delegue d) {
delegue = d;
}
// WindowListener
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){}
// ActionListener
public void actionPerformed(ActionEvent e) {
delegue.afficheres() ;
}
} // Fin de la classe Adaptateur
public class Pret{
public static void main(String args[]) {
Plan p = new Plan() ;
p.pack() ;
p.show() ;
}
}
29 avril 2011 à 07:27
petite remarque concernant le remplissage de ta liste de choix pour le nombre de mois.. Utilise une boucle pour le remplissage, ça allège le code.
29 avril 2011 à 11:40
J'ai effectué quelques modifications grâce à divers conseils dont les tiens mais je t'avoue ne pas être douée avec les boucles, mon programme parvient à compiler mais à présent les résultats ne s'affichent pas, aurais je commis des erreurs dans le calcul de mon simulateur de prêt ??
________________________________
import java.awt.* ;
import java.awt.event.* ;//2eme import
class Plan extends Frame {
protected TextField mttpret, rev, rembmens;
protected Button valider ; // Bouton valider
protected Choice nbmois ;//Nombre de mois de remboursement souhaite 12,24,36,48,60
protected Panel p, p1,p11,p12,p2,p21,p22,p3,p4 ;
protected TextArea res ;// Affiche le message qui autorise ou non attribution du pret et les raisons
protected Adaptateur adapt; //Attribut d'instance à l'interface
protected Delegue delegue; //Attribut d'instance à l'interface
Plan() {
setLayout(new BorderLayout()) ;
p = new Panel() ; // Panel principal de la fenetre
p.setLayout(new GridLayout(4, 1)) ; // Panel décomposé en 4 parties horizontales
p1=new Panel();
p1.setLayout(new GridLayout(1, 2)) ;//Premier panel de p décomposé en 2 parties verticales
p11=new Panel();
p11.add(new Label("Montant du prêt demandé"));//1er partie de p1 qui renseigne sur le montant emprunte desire
mttpret = new TextField (5); // Montant a entrer qui peut etre compose de 5 chiffres (max : 21500)
p11.add(mttpret); //Permet d'afficher le montant emprunte desiree
p1.add(p11); // Affiche l'ensemble du panel p11 dans p1
p12=new Panel();
p12.add(new Label("Revenu mensuel du foyer"));//2eme partie de p1 qui renseigne sur le revenu mensuel de l'emprunteur
rev = new TextField (10); // Montant a entrer qui peut etre compose de 10 chiffres
p12.add(rev) ; //Permet d'afficher le revenu
p1.add(p12) ; // Affiche l'ensemble du panel p12 dans p1
p.add(p1) ; // Affiche l'ensemble du panel p1 dans p
p2=new Panel();
p2.setLayout(new GridLayout(1, 2)) ; //2eme panel de p décomposé en 2 parties verticales
p21=new Panel();
p21.add(new Label("Total des remboursements")); //1er partie de p2 qui renseigne sur le total des remboursements
rembmens = new TextField (10);//Le montant des remboursements peut comporter 10 chiffres
p21.add(rembmens) ; // Permet d'afficher le montant des remboursements
p2.add(p21);//Affiche l'ensemble du panel p21 dans p2
p22=new Panel();
p22.add(new Label("Nombre de mois de remboursement"));
Choice nbmois = new Choice(); // Création d'une liste déroulante qui permettra à l'emprunteur de choisir le nb de mois pour l'échéance du crédit
nbmois.addItem("12");
nbmois.addItem("13");
nbmois.addItem("14");
nbmois.addItem("15");
nbmois.addItem("16");
nbmois.addItem("17");
nbmois.addItem("18");
nbmois.addItem("19");
nbmois.addItem("20");
nbmois.addItem("21");
nbmois.addItem("22");
nbmois.addItem("23");
nbmois.addItem("24");
nbmois.addItem("25");
nbmois.addItem("26");
nbmois.addItem("27");
nbmois.addItem("28");
nbmois.addItem("29");
nbmois.addItem("30");
nbmois.addItem("31");
nbmois.addItem("32");
nbmois.addItem("33");
nbmois.addItem("34");
nbmois.addItem("35");
nbmois.addItem("36");
nbmois.addItem("37");
nbmois.addItem("38");
nbmois.addItem("39");
nbmois.addItem("40");
nbmois.addItem("41");
nbmois.addItem("42");
nbmois.addItem("43");
nbmois.addItem("44");
nbmois.addItem("45");
nbmois.addItem("46");
nbmois.addItem("47");
nbmois.addItem("48");
nbmois.addItem("49");
nbmois.addItem("50");
nbmois.addItem("51");
nbmois.addItem("52");
nbmois.addItem("53");
nbmois.addItem("54");
nbmois.addItem("55");
nbmois.addItem("56");
nbmois.addItem("57");
nbmois.addItem("58");
nbmois.addItem("59");
nbmois.addItem("60");
p22.add(nbmois); // Permet d'afficher le nombre de mois sélectionné
p2.add(p22); //Affiche l'ensemble du panel p22 dans p2
p.add(p2);//Affiche l'ensemble du panel p2 dans p
p3=new Panel();
valider = new Button ("Valider");// Création du bonton valider
p3.add(valider); // Affiche le bonton
p.add(p3); //Affiche l'ensemble du panel p3 dans p
p4 =new Panel();
res = new TextArea();
p4.add(res) ;
// Création d'une zone de texte qui permettra d'afficher le resultat d'octroi ou non du crédit
// Affiche la zone de texte et son contenu
p.add(p4); // Ajoute le panel p4 dans p
add("Center",p); // Centrage des différents panel dans p
delegue = new Delegue(this); //création de la classe delegue
adapt = new Adaptateur(delegue); //création de la classe adaptateur
this.addWindowListener(adapt);
valider.addActionListener(adapt);
} // fin du constructeur Fenetre()
}// fin de la classe Fenetre
class Delegue { // Début de la classe Delegue
protected Plan p ;
Delegue(Plan f) {
p = f ;
}
public void quitter() { // Permet de fermer la fenêtre
System.exit(0);
}
public void afficheres() {
}
void calcule(){
float montant ;
int nbm ;
float revenu ;
float remb=0;
double tx = 0;
double mensualite = 0;
double resultat;
montant = new Float(p.mttpret.getText()).floatValue() ;
nbm = new Integer(p.nbmois.getSelectedItem()).intValue() ;
revenu = new Float(p.rev.getText()).floatValue();
remb = new Float(p.rembmens.getText()).floatValue();
resultat = new Double (p.res.getText()).doubleValue();
String res = "Voici les résultats de votre demande d'emprunt :";
for (int i=0; i<=nbm; i++) {
if((i>4) && (i<12)) {
tx = 0.067;
res = resultat + "\nLe taux appliqué est de 0.067 annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>12) && (i<36)) {
tx = 0.067;
res = res + "\nLe taux appliqué est de 0.067 annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>36) && (i<48)) {
tx = 0.083;
/////////// ERREUR x
res = resultat + "\nLe taux appliqué est de 8.3% annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if((i>48) && (i<60)) {
tx = 0.083;
res = resultat + "\nLe taux appliqué est de 8.3% annuel";
res=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
{
if
(mensualite > (33/100)*revenu){
res=mensualite+ "PRET REFUSE";
}
else{
res=mensualite+ "PRET ACCEPTEE";
}
}
{
if
((remb+revenu)<= 3*(remb+revenu)){
res=resultat+ "PRET ACCEPTEE";
}
else {
res=resultat+ "PRET REFUSE";
}
}
}
p.res.setText("");
for (int i=0; i<=nbm; i++) {
resultat = montant * Math.pow( 1 + tx/12, i);
p.res.setText("");
}
}
}
// fin de la classe Delegue
class Adaptateur implements WindowListener, ActionListener{ // Début de la classe Adaptateur
protected Delegue delegue;
Adaptateur (Delegue d) {
delegue = d;
}
// WindowListener
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){}
// ActionListener
public void actionPerformed(ActionEvent e) {
delegue.afficheres() ;
}
} // Fin de la classe Adaptateur
public class Pret{
public static void main(String args[]) {
Plan p = new Plan() ;
p.pack() ;
p.show() ;
}
}
________________________
Si quelqu'un pouvait m'éclairer ...
Vous en remerciant ...
29 avril 2011 à 12:07
29 avril 2011 à 12:38
29 avril 2011 à 14:58
Je ne vois pas comment faire pour afficher mes resultats :s
Faut il que je modifie : void afficheres ? ou que j'insere des system.out.println de partout ?!
Je ne saisis pas bien la différence entre ces 2 éléments...
Ou est-ce la actions Listener ?
J'ai un peu tout essayé mais sans résultat...
J'ai encore modifié mon code qui est devenu ceci :
______________________
import java.awt.* ;
import java.awt.event.* ;//2eme import
class Plan extends Frame {
protected TextField mttpret, rev, rembmens;
protected Button valider ; // Bouton valider
protected Choice nbmois ;//Nombre de mois de remboursement souhaite 12,24,36,48,60
protected Panel p, p1,p11,p12,p2,p21,p22,p3,p4 ;
protected TextArea res ;// Affiche le message qui autorise ou non attribution du pret et les raisons
protected Adaptateur adapt; //Attribut d'instance à l'interface
protected Delegue delegue; //Attribut d'instance à l'interface
Plan() {
setLayout(new BorderLayout()) ;
p = new Panel() ; // Panel principal de la fenetre
p.setLayout(new GridLayout(4, 1)) ; // Panel décomposé en 4 parties horizontales
p1=new Panel();
p1.setLayout(new GridLayout(1, 2)) ;//Premier panel de p décomposé en 2 parties verticales
p11=new Panel();
p11.add(new Label("Montant du prêt demandé"));//1er partie de p1 qui renseigne sur le montant emprunte desire
mttpret = new TextField (5); // Montant a entrer qui peut etre compose de 5 chiffres (max : 21500)
p11.add(mttpret); //Permet d'afficher le montant emprunte desiree
p1.add(p11); // Affiche l'ensemble du panel p11 dans p1
p12=new Panel();
p12.add(new Label("Revenu mensuel du foyer"));//2eme partie de p1 qui renseigne sur le revenu mensuel de l'emprunteur
rev = new TextField (10); // Montant a entrer qui peut etre compose de 10 chiffres
p12.add(rev) ; //Permet d'afficher le revenu
p1.add(p12) ; // Affiche l'ensemble du panel p12 dans p1
p.add(p1) ; // Affiche l'ensemble du panel p1 dans p
p2=new Panel();
p2.setLayout(new GridLayout(1, 2)) ; //2eme panel de p décomposé en 2 parties verticales
p21=new Panel();
p21.add(new Label("Total des remboursements")); //1er partie de p2 qui renseigne sur le total des remboursements
rembmens = new TextField (10);//Le montant des remboursements peut comporter 10 chiffres
p21.add(rembmens) ; // Permet d'afficher le montant des remboursements
p2.add(p21);//Affiche l'ensemble du panel p21 dans p2
p22=new Panel();
p22.add(new Label("Nombre de mois de remboursement"));
Choice nbmois = new Choice(); // Création d'une liste déroulante qui permettra à l'emprunteur de choisir le nb de mois pour l'échéance du crédit
int mois = 12;
while (mois < 60){
nbmois.addItem(""+ mois);
mois++;
}
p22.add(nbmois); // Permet d'afficher le nombre de mois sélectionné
p2.add(p22); //Affiche l'ensemble du panel p22 dans p2
p.add(p2);//Affiche l'ensemble du panel p2 dans p
p3=new Panel();
valider = new Button ("Valider");// Création du bonton valider
p3.add(valider); // Affiche le bonton
p.add(p3); //Affiche l'ensemble du panel p3 dans p
p4 =new Panel();
res = new TextArea();
p4.add(res) ;
// Création d'une zone de texte qui permettra d'afficher le resultat d'octroi ou non du crédit
// Affiche la zone de texte et son contenu
p.add(p4); // Ajoute le panel p4 dans p
add("Center",p); // Centrage des différents panel dans p
delegue = new Delegue(this); //création de la classe delegue
adapt = new Adaptateur(delegue); //création de la classe adaptateur
this.addWindowListener(adapt);
valider.addActionListener(adapt);
} // fin du constructeur Fenetre()
}// fin de la classe Fenetre
class Delegue { // Début de la classe Delegue
protected Plan p ;
Delegue(Plan f) {
p = f ;
}
public void quitter() { // Permet de fermer la fenêtre
System.exit(0);
}
public void afficheres() {
}
void calcule(){
float montant ;
int nbm ;
float revenu ;
float remb=0;
double tx = 0;
double mensualite = 0;
montant = new Float(p.mttpret.getText()).floatValue() ; // Transforme l'entrée de l'utilisateur en flottant
nbm = new Integer(p.nbmois.getSelectedItem()).intValue() ;// Transforme le nombre sélectionné en variable Integer
revenu = new Float(p.rev.getText()).floatValue();// Transforme l'entrée de l'utilisateur en flottant
remb = new Float(p.rembmens.getText()).floatValue();// Transforme l'entrée de l'utilisateur en flottant
for (int i=0; i<=nbm; i++) {
mensualite = (montant*(tx/12)) / (1-Math.pow(1+(tx/12),-nbm));
}
boolean condition1 = (nbm>4)&&(nbm<60);
boolean condition2 = (400<=montant)&&(montant <= 21500);
boolean condition3 = (mensualite < (33/100)*revenu); // condition imposé pour tous les prêts
boolean condition4 = (nbm>4)&&(nbm<12) ;
boolean condition5 = (montant <= 1500);
boolean condition6 = (nbm>12)&&(nbm<36);
boolean condition7 = (montant <= 5000);
boolean condition8 = (nbm>36)&&(nbm<48);
boolean condition9 = (montant <= 10000);
boolean condition10 = (nbm>48)&&(nbm<60);
boolean condition11 = (montant <= 21500);
String resultat = "Voici les résultats de votre demande d'emprunt :";
if (condition1 && condition2) {
resultat = resultat + "Le montant de la mensualité est:" + new Double(mensualite).toString() ;
if(condition3)
resultat += "PRET AUTORISE";
else resultat += "La mensualité dépasse 33% du revenu mensuel - PRET REFUSE";
}
if(condition4 && condition4) {
tx = 0.067;
if(condition1 && condition2) {
resultat = resultat + "\nLe taux appliqué est de 0.067 annuel";
resultat=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if(!condition1){
resultat = resultat + "Emprunt à la consommation limité à 5 ans";
resultat = resultat + "Emprunt refusé";
}
if(!condition2){
resultat = resultat + "Emprunt à la consommation limité à 21500 €";
resultat = resultat + "Emprunt refusé";
}
}
if(condition4 && condition5) {
resultat = resultat + "\nLe taux appliqué est de 0.067 annuel";
resultat=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if(!condition4){
resultat = resultat + "Emprunt à la consommation limité à 5 ans";
resultat = resultat + "Emprunt refusé";
}
if(!condition5){
resultat = resultat + "Emprunt à la consommation limité à 21500 €";
resultat = resultat + "Emprunt refusé";
}
if(condition6 && condition8) {
tx = 0.083;
}
if(condition6 && condition7) {
resultat = resultat + "\nLe taux appliqué est de 0.083 annuel";
resultat=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if(!condition6){
resultat = resultat + "Emprunt à la consommation limité à 3 ans";
resultat = resultat + "Emprunt refusé";
}
if(!condition7){
resultat = resultat + "Emprunt à la consommation limité à 5000 €";
resultat = resultat + "Emprunt refusé";
}
if(condition8 && condition9) {
resultat = resultat + "\nLe taux appliqué est de 0.083 annuel";
resultat=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if(!condition8){
resultat = resultat + "Emprunt à la consommation limité à 4 ans";
resultat = resultat + "Emprunt refusé";
}
if(!condition9){
resultat = resultat + "Emprunt à la consommation limité à 10000 €";
resultat = resultat + "Emprunt refusé";
}
if(condition10 && condition11) {
resultat = resultat + "\nLe taux appliqué est de 0.083 annuel";
resultat=mensualite+"\nLe montant de la mensualité est:" + new Double(mensualite).toString() ;
}
if(!condition10){
resultat = resultat + "Emprunt à la consommation limité à 5 ans";
resultat = resultat + "Emprunt refusé";
}
if(!condition11){
resultat = resultat + "Emprunt à la consommation limité à 21500 €";
resultat = resultat + "Emprunt refusé";
}
if(condition3){
resultat += "PRET AUTORISE";
}
if(!condition3){
resultat=resultat+"\nLa mensualité dépasse 33% du revenu mensuel";
resultat=resultat+"\nPRET REFUSE";
}
p.res.setText("");
}
}
// fin de la classe Delegue
class Adaptateur implements WindowListener, ActionListener{ // Début de la classe Adaptateur
protected Delegue delegue;
Adaptateur (Delegue d) {
delegue = d;
}
// WindowListener
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){}
// ActionListener
public void actionPerformed(ActionEvent e) {
delegue.afficheres() ;
}
} // Fin de la classe Adaptateur
public class Pret{
public static void main(String args[]) {
Plan p = new Plan() ;
p.pack() ;
p.show() ;
}
}
________________________
Merci...