Un programme à demi fonctionnement!

Fermé
phplover Messages postés 22 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 13 mai 2014 - 26 oct. 2013 à 21:35
phplover Messages postés 22 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 13 mai 2014 - 5 nov. 2013 à 23:17
Mon programme doit donner un Menu pour conversion {1 Celsius == Fahrenheit , 2 Fahrenheit == Celsius ) et à la fin de chaque conversion il lui donne l'option de faire une autre conversion ou Quitter .
Le problème c'est que ou bien si je mets la condition de la réponse de l'utilisateur en étant différente de N ce qui vaut non == Quitter, ou bien je la mets en étant égale à O ce qui vaut Oui == faire une autre conversion je aie comme résultat le même résultat en tappant O ou N ou bien ( ça quitte pour les 2 ou bien ça continue pour les 2 )
voilà le code :

import java.util.Scanner;
public class Tp {


public static void main(String[] args) {
Scanner a = new Scanner(System.in);
int mode;
String rep=" ";
do {
System.out.println("Convertisseur Degrés Celsius et Degrés Fahrenheit");
System.out.println("Choisissez le mode de conversion: ");
System.out.println("1 - Conversion Celsius Fahrenheit");
System.out.println("2 - Conversion Fahrenheit Celsius");
mode = a.nextInt();
if (mode == 1)
{
System.out.println("Température à convertir:");
int t1 = a.nextInt();
double f =(9*t1+160)/5;
System.out.println(" "+t1 + "°C correspond à " +f +"°F");

}
else if ( mode ==2)
{
System.out.println("Température à convertir:");
int t2 = a.nextInt();
double s = ((t2 - 32)*5)/9;
System.out.println(" "+t2 + "°F correspond à " +s +"°C");
}
else
{
System.out.println("Vérifiez votre choix!");

}
Scanner b = new Scanner(System.in);
System.out.println("Souhaitez-vous faire une autre conversion? 0/N");
rep = b.nextLine();
}
while ( rep != "N");

}
}
A voir également:

2 réponses

Mazess Messages postés 7 Date d'inscription vendredi 18 octobre 2013 Statut Membre Dernière intervention 27 octobre 2013 2
27 oct. 2013 à 14:20
Je suis pas sur de comprendre ce que tu demandes, mais tu peux faire un truc du genre :

import java.util.Scanner;
public class Tp {
public static void main(String[] args) {
Scanner a = new Scanner(System.in);
int mode;
boolean goOn=true;
while (goOn) {
String rep=" ";
System.out.println("Convertisseur Degrés Celsius et Degrés Fahrenheit");
System.out.println("Choisissez le mode de conversion: ");
System.out.println("1 - Conversion Celsius Fahrenheit");
System.out.println("2 - Conversion Fahrenheit Celsius");
System.out.println("---------------------");
System.out.println("3 - Ou quittez");
mode = a.nextInt();
goOn=(mode!=3);
if (mode == 1)
{
System.out.println("Température à convertir:");
int t1 = a.nextInt();
double f =(9*t1+160)/5;
System.out.println(" "+t1 + "°C correspond à " +f +"°F");
}
else if ( mode ==2)
{
System.out.println("Température à convertir:");
int t2 = a.nextInt();
double s = ((t2 - 32)*5)/9;
System.out.println(" "+t2 + "°F correspond à " +s +"°C");
}
else
{
System.out.println("Vérifiez votre choix!");
}
}
}
}

j'ai pas testé, il y a peut-être des co(q)uilles.
bon je suis pas sur d'avoir répondu à ta question

après ca peut être bien de mieux structurer ton code utilisant des methodes intermediaires...
0
phplover Messages postés 22 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 13 mai 2014
5 nov. 2013 à 23:17
Merci pour ton aide mais je voudrai savoir l'erreur de mon programme puisque qu'il peut calculer juste il ne sait pas quand est le bon moment de régénérer le menu principale ou stopper le programme!
0