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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...