Bonjour,

je suis nouveau sur ce forum, en fait je suis un connaisseur du C++ , et la je commence a apprendre le java peu à peu, j'avoue que j'ai des problemes avec

le programme que je code, effectue des operations sur des matrices , les dimensions de ces matrices(carrés) , les matrices et les operaions sont obtenu à partir d'un fichier en input.

la partie de mon code qui ne marche pas la voila :

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
43
44
45
46
while(ii<dimensions.size()){
 
            int taille;
            String s=dimensions.elementAt(ii).toString();
            taille=Integer.parseInt(s);
            String s1=Operation.elementAt(ii).toString();
 
 
            for(int i=somme;i<((taille*taille)+somme);i++){
 
                if(s1.equals("+")==true)
                {
                    int nb1,nb2;
                    String SS=matrices.get(i).toString();
                    nb1=Integer.parseInt(SS);
                    SS=matrices.get(i+(taille*taille)).toString();
                    nb2=Integer.parseInt(SS);
                    resultats.add(jj, new Integer(nb1+nb2));
                    jj++;
 
                }
                else if(s1.equals("-")==true)
                {
                    int nb1,nb2;
                    String SS=matrices.get(i).toString();
                    nb1=Integer.parseInt(SS);
                    SS=matrices.get(i+(taille*taille)).toString();
                    nb2=Integer.parseInt(SS);             
                    resultats.add(jj, new Integer(nb1-nb2));
                    jj++;
                }
                else if(s1.equals("*")==true);
                {
                    i=((taille*taille)+somme);
                    String STEMP = multiplication(i,matrices,taille);
                    System.out.println("euuh");
                    System.out.println(s1);
                }
 
 
 
            }
            somme+=(taille*taille)*2;
            ii++;
 
        }

comme vous le voyez , j'ai un if , else if ,else if dans la boucle for,

le fichier que j'ai fourni en entrée ne contient pas l'operation "*" (multiplication) pourtan ca rentre dans le if de la multiplication , j'ai verifié la variable s1 (un string) qui contient l'operation , cette variable ne contient jamais le "*" , j'ai meme affiché la valeur de s1 dans le else if(s1.equals("*")==true) et pourtant il m'affiche "+"


je ne comprend vraiment pas comment ca se fait que la variable s1 contient comme valeur + et ca rentre dans le if(s1.equals("*"))...


quelqu'un aurait une idée SVP ?


merci



...