developvbdebut
Messages postés476Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 2 juin 2012
-
18 mai 2006 à 11:09
developvbdebut
Messages postés476Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 2 juin 2012
-
24 mai 2006 à 10:04
Bonjour tout le monde
Je suis en trein de m'amuser à faire un petit convertisseur euro.
Voici mon code de la class Calcul.
J'éprouve quel que difficulté, avec la récurcivité.
else if(convert.equals("Convertir") && eurro==true && franc == true)
{
JOptionPane.showMessageDialog(null,"Vous ne vous pouvez pas selectionner les deux options en même temps.");
}
return (0);
}
}
voici l'erreur.
Calcul.java:59: cannot return a value from method whose result type is void
return resultat;
^
Calcul.java:69: cannot return a value from method whose result type is void
return resultat;
^
Calcul.java:84: cannot return a value from method whose result type is void
return (0);
^
3 errors
HSylvio
Messages postés116Date d'inscriptionjeudi 22 juillet 2004StatutMembreDernière intervention14 juin 2012 24 mai 2006 à 09:58
Ben disons que là ca sert à rien parce que une conversion n'est jamais qu'une opération : * 6.5 ou / 6.5.
L'objectif de la récursivité est, comme dans l'exemple de la factorielle, de faire des opérations successives qui agissent en fonction des paramètres mais utilisant le même fonction.
Cherches des informations sur les tours de hanoï ca devrai bien te montrer a quoi ca sert et comment l'utiliser.
Ici tu veux renvoyer un résultat directement, et pour reprendre un peu ton code:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calcul
{
public float somme;
public Calcul() // c'est le constructeur, ce qui est lancé quand tu fais Calcul c = new Calcul();
{
String convert="";
float resultat=0,somme=0, taux=6.56f;
Boolean franc = false;
Boolean eurro =true;
if(franc==true)// ce if else ne sert a rien car tu as ici toujours franc false et eurro true a cause des 2 lignes ci-dessus
{
eurro=false;
}
else if(eurro==true)
{
franc = false;
}
// ça il faut que tu le mette dans une fonction, qui renvoie un float; tu pourras appeler cette fonction en faisant
else if(convert.equals("Convertir") && eurro==true && franc == true)
// tu peux enlever ca en envoyant un seul parametre (bool franc) et interdir de selectionner les deux monnaies dans //l'interface graphique
{
JOptionPane.showMessageDialog(null,"Vous ne vous pouvez pas selectionner les deux options en même temps.");
}
return (0);
}
}
Voila j'espere que tu as compris, tu crées une instance de calcul appelée calc en faisant Calcul calc = new Calcul();
tu calcules ensuite une conversion en faisant float resultat = calc.convertis(float valeur, bool franc);
La recursivite c'est autre chose; cherches les tours de hanoï ou peut être la division euclidienne estt plus simple.
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 18 mai 2006 à 11:50
public class maClasse
{
int a;
int b;
maClasse()
{
a=0;
b=0;
};
Le constructeur sert uniquement à initialiser les membres de la classe.
Dans ton programme tu n'a pas besoin de récursivité : la récursivité c'est une fonction qui s'appelle elle meme pour resoudre un problème
exemple
double factorielle(int n)
{
if(n<=1)
return 1;
else
return n*factorielle(n-1);
}
++
Vous n’avez pas trouvé la réponse que vous recherchez ?