Problème avec ma boucle while
Bonjour tout le monde,
Je me mets à apprendre Java. J'ai trouvé un tutoriel sympa. Dedans, il y a un exrecice : il faut faire un programme qui convertie les températures celsius/fahrenheit.
J'ai fait un programme :
1/ Qui demande quel unité est à transformer,
2/ Qui demande combien de degré sont à convertir
3/ Donne la température convertie
4/ Demande si une autre conversion est à effectuer
Ca marche bien. Sauf que si je dis à mon programme qu'il faut en faire une autre, il ne veut pas. Pour programmer ça j'ai mis une boucle while au début : j'initialise a (string) en oui, tant que a vaut oui, effectue le programme, à la fin lorsque tu demandes à l'utilisateur s'il veut faire une autre conversion, mets dans a sa réponse.
Et il ne veut pas recommencer si on mets oui, pourtant a vaut bien oui, j'ai vérifier, pouvez-vous m'aider ?
Ci-dessous, le programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| package projet1;
import java.util.Scanner;
public final class Class1 {
public static void main(String[] args) {
String a="oui";
while (a=="oui")
{
Scanner ss = new Scanner(System.in);
System.out.println("Que voulez-vous convertir ?");
String sens = ss.nextLine();
switch (sens)
{
case "celsius":
Scanner b=new Scanner(System.in);
System.out.println("Combien de celsius ?");
float deg = b.nextFloat();
deg = (float)1.8 * deg + 32;
System.out.println(deg + " fahrenheit");
break;
case "fahrenheit":
Scanner c=new Scanner(System.in);
System.out.println("Combien de fahrenheit ?");
float fah = c.nextFloat();
fah = (fah - 32)/(float) 1.8;
System.out.println(fah + " celsius");
break;
}
Scanner der = new Scanner(System.in);
System.out.println("Voulez-vous effectuer une autre conversion ?");
a = der.nextLine();
}
}
} |
A mon avis, c'est que je fais n'importe quoi avec Scanner...