Erreur d'initialisation de variable
Résolu
Xelo-arx
Messages postés
12
Statut
Membre
-
Xelo-arx Messages postés 12 Statut Membre -
Xelo-arx Messages postés 12 Statut Membre -
Bonjour,
je fais un programme contenant des fonctions/procédures, et lors de la compilation l'erreur : variable TransTotal might not have been initialized ( ligne 24)
Ma fonction est la suivante :
Merci de m'aider rapidement svp
je fais un programme contenant des fonctions/procédures, et lors de la compilation l'erreur : variable TransTotal might not have been initialized ( ligne 24)
Ma fonction est la suivante :
public static double calculerFraisTransport(double a, double b){
double TransErable, TransBleuets, TransTotal;
TransBleuets = 0.5 * b;
if((a >= 3) & (a <= 12)){
TransErable = 1.5 * a;
TransTotal = TransBleuets + TransErable;
}
else{
if((a > 12) & (a <= 24)){
TransErable = 1.0 * a;
TransTotal = TransBleuets + TransErable;
}
else{
if(a > 24){
TransErable = 0;
TransTotal = TransBleuets;
}
}
}
return (TransTotal);
}
Merci de m'aider rapidement svp
A voir également:
- Erreur d'initialisation de variable
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
Mais j'ai toujours le même problème
Or dans ton if ((a > 24) | (a < 3)) il n'y a pas de else. Ça n'a pas forcément de sens mathématiques d'en mettre un, mais pour le programme ça a un sens. Il faudrait donc mettre un else à chaque if, ce qui dans ton cas permettrait de simplifier comme ceci :
if(a >= 3 && a <= 12){ TransTotal = ... } else if(a > 12 && a <= 24) { TransTotal = ... } else { // (a < 3 || a > 24) TransTotal = ... }Dans tous les cas, TransTotal aura bien une valeur et Java est content.
J'ai la première question qui me bloque dans le programme :
Ecrivez une fonction saisirNbSiropErable qui demande à l'utilisateur un nombre de cruchons de sirop d'érable et qui retourne la valeur saisie. Si la valeur n'est pas multiple de 3 ou est incorrecte (inferieure à 0, par exemple), un message d'erreur doit être affiché et l'utilisateur doit saisir une nouvelle valeur.
public static double saisirNbSiropErable(double a){ double c; System.out.println("Entrez le nombre de cruchon(s) de sirop d'erable que vous voulez(vendus par lot de 3, donc multiple de 3) : "); c = clavier.nextDouble(); while((c < 0) || (c % 3 != 0)){ System.out.println("Erreur ! Entrez une nouvelle valeur avec les memes conditions : "); c = clavier.nextDouble(); } return (c); }J'ai fait ça, je sais que j'ai pas le droit de faire des saisies clavier dans une fonction, mais je ne vois vraiment pas comment faire dans ce cas-là..
2) Évites de faire des calculs lorsque tu as , ce devrait être .
3) C'est quoi ta question ? Ton programme fonctionne non ?