Prog java // while expected//

Résolu/Fermé
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 - 6 mars 2008 à 00:41
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 - 6 mars 2008 à 14:16
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
A voir également:

16 réponses

legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 01:02
je telecharge quoi de microsoft
vous voulez dire editeur ou bien quoi
1
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 01:09
ok merci pour ta reponse
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mars 2008 à 06:02
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
0
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 10:45
aaaaaaaaah oui j 'ai pas fait attention
merci polux 31
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mars 2008 à 12:00
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
0
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 13:28
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 ;}}}
^
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mars 2008 à 13:35
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
0
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 13:49
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 ;

                                                                   }                          
                                }
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
6 mars 2008 à 13:52
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
0
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 13:55
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;}}
  
0
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 13:56
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
0
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 13:59
j 'ai reparer le if mais j'ai trouve la meme erreur c'est dans le mod
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
6 mars 2008 à 14:06
Remplace :
t[i] mod k
Par :
t[i] % k

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

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

merci kij_80

;o)

polux
0
legend1 Messages postés 23 Date d'inscription dimanche 11 novembre 2007 Statut Membre Dernière intervention 9 mai 2008 2
6 mars 2008 à 14:16
wooooow ca marche c t juste le mod je l'ai changer en %

merci bcp plox31 et kij-82 merci..merci
0