[java] Erreur à l'execution
Résolu
javahelp
-
javahelp -
javahelp -
Bonjour,
je suis débutant en programmation et j'ai un problème que je n'arrive pas à résoudre.
Voici la classe :
class ConvertisseurTemperature
{ public int convertirTemperature(int temperature, String convertirEN)
{ int temperatureConvert;
if (convertirEN == "F")
{ temperatureConvert = ((9 * temperature) / 5) + 32;
return temperatureConvert;
}
if (convertirEN == "C")
{ temperatureConvert = ((temperature - 32) * 5) / 9;
return temperatureConvert;
}
else
{ return 0;
}
}
}
et le main :
public class MaitreTemperature
{ public static void main(String[] Args)
{ int temp;
String mes;
System.out.println("Veuillez taper une temperature en C ou F :");
Clavier Clavier = new Clavier();
temp = Clavier.lireInt();
System.out.println("Veuillez taper F ou C pour la conversion :");
mes = Clavier.lireString();
System.out.println("Vous avez taper :" + temp + mes);
ConvertisseurTemperature ConvertisseurTemperature = new ConvertisseurTemperature();
System.out.println("Résultat :" + ConvertisseurTemperature.convertirTemperature(temp, mes));
}
}
Le résultat est toujours le même que je tape F ou C, c'est à dire que le programme affiche toujours 0 en résultat de conversion. Les deux if ne doivent pas fonctionnés mais je ne comprend pas pourquoi.
Pouvez vous m'aider s'il vous plaît ?
Merci :-)
je suis débutant en programmation et j'ai un problème que je n'arrive pas à résoudre.
Voici la classe :
class ConvertisseurTemperature
{ public int convertirTemperature(int temperature, String convertirEN)
{ int temperatureConvert;
if (convertirEN == "F")
{ temperatureConvert = ((9 * temperature) / 5) + 32;
return temperatureConvert;
}
if (convertirEN == "C")
{ temperatureConvert = ((temperature - 32) * 5) / 9;
return temperatureConvert;
}
else
{ return 0;
}
}
}
et le main :
public class MaitreTemperature
{ public static void main(String[] Args)
{ int temp;
String mes;
System.out.println("Veuillez taper une temperature en C ou F :");
Clavier Clavier = new Clavier();
temp = Clavier.lireInt();
System.out.println("Veuillez taper F ou C pour la conversion :");
mes = Clavier.lireString();
System.out.println("Vous avez taper :" + temp + mes);
ConvertisseurTemperature ConvertisseurTemperature = new ConvertisseurTemperature();
System.out.println("Résultat :" + ConvertisseurTemperature.convertirTemperature(temp, mes));
}
}
Le résultat est toujours le même que je tape F ou C, c'est à dire que le programme affiche toujours 0 en résultat de conversion. Les deux if ne doivent pas fonctionnés mais je ne comprend pas pourquoi.
Pouvez vous m'aider s'il vous plaît ?
Merci :-)
A voir également:
- [java] Erreur à l'execution
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
6 réponses
J'ai essayé de remplacé les if par :
switch (convertirEN)
{ case "F" : temperatureConvert = ((9 * temperature) / 5) + 32;
return temperatureConvert;
break;
case "C" : temperatureConvert = ((temperature - 32) * 5) / 9;
return temperatureConvert;
break;
}
Le problème est que j'utilise des valeurs de type int (temperature et temperatureConvert) et String (convertirEN) dans cette méthode ce qui produit une erreur à la compilation.
Comment puis-je faire pour faire 'cohabité' ces deux types dans une même méthode ?
Merci.
switch (convertirEN)
{ case "F" : temperatureConvert = ((9 * temperature) / 5) + 32;
return temperatureConvert;
break;
case "C" : temperatureConvert = ((temperature - 32) * 5) / 9;
return temperatureConvert;
break;
}
Le problème est que j'utilise des valeurs de type int (temperature et temperatureConvert) et String (convertirEN) dans cette méthode ce qui produit une erreur à la compilation.
Comment puis-je faire pour faire 'cohabité' ces deux types dans une même méthode ?
Merci.
bonjour,
Ton code fonctionne bien en l'exécutant pour :
temp = 5;
mes = "C";
j'obtient :
Veuillez taper une temperature en C ou F :
Veuillez taper F ou C pour la conversion :
Vous avez taper :5C
Résultat :-15
Je pense que l'erreur vient de ta classe Clavier.
Ton code fonctionne bien en l'exécutant pour :
temp = 5;
mes = "C";
j'obtient :
Veuillez taper une temperature en C ou F :
Veuillez taper F ou C pour la conversion :
Vous avez taper :5C
Résultat :-15
Je pense que l'erreur vient de ta classe Clavier.
Merci cela fonctionne :-)
Peut tu m'expliquer la différence entre convertirEN == "C" et convertirEN.equals("C") ?
Que fait le equals ?
Peut tu m'expliquer la différence entre convertirEN == "C" et convertirEN.equals("C") ?
Que fait le equals ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question