Prog java // while expected//

[Résolu/Fermé]
Signaler
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
-
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
-
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

16 réponses

Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
1
je telecharge quoi de microsoft
vous voulez dire editeur ou bien quoi
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
1
ok merci pour ta reponse
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 167
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
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
1
aaaaaaaaah oui j 'ai pas fait attention
merci polux 31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 167
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
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
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 ;}}}
^
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 167
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
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
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 ;

                                                                   }                          
                                }
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 167
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
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
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;}}
  
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
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
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
1
j 'ai reparer le if mais j'ai trouve la meme erreur c'est dans le mod
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
852
Remplace :
t[i] mod k
Par :
t[i] % k

Et quitte à faire met des parenthèses :
(t[i] % k)
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 167
ok vu ... il manque une parenthèse fermante à la ligne 19 :

if ((t[i] mod k) ==0)
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 167
oupssss, exact modulo = % en java ... pas vu ça :os ...

merci kij_80

;o)

polux
Messages postés
23
Date d'inscription
dimanche 11 novembre 2007
Statut
Membre
Dernière intervention
9 mai 2008
1
wooooow ca marche c t juste le mod je l'ai changer en %

merci bcp plox31 et kij-82 merci..merci