begin process at 2008 08 29 08:50:18
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 : Besoin d'aide pour la Récursivité [ Algorithme / Autre ] (developvbdebut)

Besoin d'aide pour la Récursivité le 18/05/2006 11:09:01

developvbdebut
Membre Club

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é.

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Calcul

{

public float somme;

public Calcul()
{

String convert="";

float resultat=0,somme=0, taux=6.56f;

Boolean franc = false;

Boolean eurro =true;

if(franc==true)

{

eurro=false;

}

else if(eurro==true)
{

franc = false;

}
if(convert.equals("Convertir") && franc ==true)
{


resultat=somme * taux;

return resultat;
}

else if(convert.equals("Convertir") && eurro==true)

{


resultat=(somme / taux);

return resultat;

}

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


Merci

Cordialement

A bientôt


Re : Besoin d'aide pour la Récursivité le 18/05/2006 11:24:06

laurent1024
1 : dans un constructeur on renvoit pas de valeur
2 : je vois pas la récursivité

++

Re : Besoin d'aide pour la Récursivité le 18/05/2006 11:42:32

developvbdebut
Membre Club
re

Que voulez vous dire par

: dans un constructeur on renvoit pas de valeur


On m'a explique qui c'est ca la recusivité

if(convert.equals("Convertir") && franc ==true)
{

resultat=somme * taux;

return resultat;
}

else if(convert.equals("Convertir") && eurro==true)

{
resultat=(somme / taux);

return resultat;

}


a+


Re : Besoin d'aide pour la Récursivité le 18/05/2006 11:50:47

laurent1024
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);
}


++

Re : Besoin d'aide pour la Récursivité le 18/05/2006 13:48:37

developvbdebut
Membre Club
Re

Donc, là je ne peux pas faire de récursivité

A+

Re : Besoin d'aide pour la Récursivité le 24/05/2006 09:58:53

HSylvio
Réponse acceptée !
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

// par exemple   c.convertis(0.2,  true)


// } fin du constructeur

//public float convertis(float somme, bool franc){

if(/*convert.equals("Convertir") && */franc ==true)

{


resultat=somme * taux;

return resultat;
}

else  // if(convert.equals("Convertir") && eurro==true)

{


resultat=(somme / taux);

return resultat;

}

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.


Re : Besoin d'aide pour la Récursivité le 24/05/2006 10:04:54

developvbdebut
Membre Club
Bonjour tout le monde

Merci pous ces précisions.

Cordialement

A bientôt


Classé sous : java, true, resultat, return, calcul

Participer à cet échange

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

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS