Un programme à demi fonctionnement!
phplover
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
phplover Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
phplover Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
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");
}
}
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:
- Un programme à demi fonctionnement!
- Fonctionnement processeur - Guide
- Fonctionnement du protocole http - Guide
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
2 réponses
Je suis pas sur de comprendre ce que tu demandes, mais tu peux faire un truc du genre :
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...
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...