Prog java // while expected//

Résolu
salut a tous le monde j'espere que vous allez bien
apres compilation de ce programme en java il me donne *.java:23: while expected* alors j'ai pas trouve la faute
le prog :


import java .io.*;
public class Tri {
public static void main(String[] args)throws IOException {
int t[];
t= new int[10];
integer m , k , i ;

BufferedReader in=new BufferedReader(new inputStreamReader(System.in));

for(i=0;i<10;i++){
t[i]=Integer.valueOf(in.readLine()).intValue();
System.out.print("la valeur de"+i+"=");
}
//une boucle pour la lecture du tableau//
for(i=0;i<10;i++){
for(k=2;k<i;k++){if((t[i] mod k)=0) do t[i]=0;}
//boucle pour savoir si le nombre et premier//
if (t[i]!= 0){

for(m=i+1;m<10;m++){
if( (t[m])==(t[i]+2))do{

for(i=2;k<(t[i]+2);k++){ if (t[m] mod k) =0 )do t[m]=0 ;}}}
//boucle pour trouve si le nombre est premier jumeau//
if (t[m] != 0)
System.out.print(t[i]+","+t[i]+2);
}}}}


en plus il me dit qu(ila ya une '(' qui monque dans if ((t[m] mod k) =0 )

j'aimerai bien que quelqun m aide et merci
Configuration: Windows XP
Opera 9.22

16 réponses

  1. wooooow ca marche c t juste le mod je l'ai changer en %

    merci bcp plox31 et kij-82 merci..merci
    1. oupssss, exact modulo = % en java ... pas vu ça :os ...

      merci kij_80

      ;o)

      polux
      1. ok vu ... il manque une parenthèse fermante à la ligne 19 :

        if ((t[i] mod k) ==0)
        1. Contributeur
          Remplace :
          t[i] mod k
          Par :
          t[i] % k

          Et quitte à faire met des parenthèses :
          (t[i] % k)
          1. j 'ai reparer le if mais j'ai trouve la meme erreur c'est dans le mod
            1. ok je vai effacer le do meme moi j'ai pad l habitude d'utilise le do je sais pas pourquoi je l'ai mis dans se prog
              1. j'ai le probleme toujours avec le mod regard

                
                Tri.java:19: ')' expected
                                              if(t[i] mod k ==0) do 
                                                                             {
                                                                                t[i]=0;
                                                                                }
                                                       
                Tri.java:25: ')' expected
                
                for(i=2;k<(t[i]+2);k++)      {
                 if ((t[m] mod k) ==0) do{
                                                                 t[m]=0 ;}}
                                                   
                Tri.java:25: ')' expected
                for(i=2;k<(t[i]+2);k++) { 
                                                       if ((t[m] mod k) ==0) do {
                                                                                   
                                                                                          t[m]=0;}}
                  
                1. je pense que c'est avant le do ... et d'ailleur je n'ai jamais utilisé de do dans une condition en java ... je pense que tu peux t'en passer ...

                  ;o)

                  Polux
                  1. je suis vraiment desole
                    les accolade qui me manque doivent etre apres le do de if ?


                    
                    
                    for(  i=2 ; k<(t[i]+2)  ; k++)
                                             
                                                {
                                             
                    
                                                        if ((t[m] mod k) ==0)    do  {  
                    
                    
                                                                           t[m]=0 ;
                    
                                                                                       }                          
                                            
                    }
                    1. salut,

                      il te manque toujours l'accolade après le if ...
                      Tu devrais présenter ton code comme je l'ai fait plus haut ... c'est plus lisible et tu verrais de suite la différence ...

                      Prends l'habitude de bien découper ton code, il a fallu que je le mette en forme pour y voir plus clair ...

                      ;o)

                      Polux
                      1. salut polux j'ai ajoute '=' dans la condition mais tjrs il y a un probleme dans la 23 ieme ligne il me dit


                        Tri.java:23: ')' expected
                        for(i=2;k<(t[i]+2);k++){ if ((t[m] mod k) ==0) do t[m]=0 ;}}}
                        ^
                        Tri.java:23: ')' expected
                        for(i=2;k<(t[i]+2);k++){ if ((t[m] mod k) ==0) do t[m]=0 ;}}}
                        ^
                        Tri.java:23: while expected
                        for(i=2;k<(t[i]+2);k++){ if ((t[m] mod k) ==0) do t[m]=0 ;}}}
                        ^
                        1. bonjour,

                          De rien, n'oublie pas de mettre résolu ... merci

                          D'autre part, le message d'erreur : *.java:23: while expected* veut dire qu'il y a une erreur sur la ligne 23 ... il est donc plus facile de la retrouver ...

                          bon courage

                          ;o)

                          Polux
                          1. bonjour,

                            J epense qu'il y a une erreur ici : if (t[m] mod k) =0 ) // <-- Attention à = et ==, le 1er affecte une valeur, le 2ème teste une égalité. Il est preférable d'utiliser equals().
                            De plus il manque l'accolade après le If ...

                            for(i=2;k<(t[i]+2);k++)
                            {
                               if (t[m] mod k) ==0 )  
                               {
                                  do t[m]=0 ;
                               }
                            }


                            ;o)

                            polux
                            1. je telecharge quoi de microsoft
                              vous voulez dire editeur ou bien quoi