Les Allergies
Alimentaires
Posez votre question Signaler

Prog java // while expected// [Résolu]

legend1 23Messages postés 11 novembre 2007Date d'inscription - Dernière réponse le 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
Lire la suite 

Prog java // while expected// »

16 réponses
Réponse
+1
moins plus
je telecharge quoi de microsoft
vous voulez dire editeur ou bien quoi
Ajouter un commentaire
Réponse
+0
moins plus
ok merci pour ta reponse
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
aaaaaaaaah oui j 'ai pas fait attention
merci polux 31
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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 ;}}}
^
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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 ;

                                                                   }                          
                                }
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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;}}
  
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
j 'ai reparer le if mais j'ai trouve la meme erreur c'est dans le mod
Ajouter un commentaire
Réponse
+0
moins plus
Remplace :
t[i] mod k
Par :
t[i] % k

Et quitte à faire met des parenthèses :
(t[i] % k)
Ajouter un commentaire
Réponse
+0
moins plus
ok vu ... il manque une parenthèse fermante à la ligne 19 :

if ((t[i] mod k) ==0)
Ajouter un commentaire
Réponse
+0
moins plus
oupssss, exact modulo = % en java ... pas vu ça :os ...

merci kij_80

;o)

polux
Ajouter un commentaire
Réponse
+0
moins plus
wooooow ca marche c t juste le mod je l'ai changer en %

merci bcp plox31 et kij-82 merci..merci
Ajouter un commentaire
Ce document intitulé « prog java // while expected// » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?