Aide en java

bwaze Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
bwaze Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai une condition if dans mon code qui n'est jamais executé
quelqu'un pour m'aider svp c'est urgent

public static void main(String args[]){
try{
FileReader fl=new FileReader("fichier1.txt");
BufferedReader fr=new BufferedReader(fl);
int i=0;
FileWriter wr=new FileWriter("w_nb.txt",true);
BufferedWriter w=new BufferedWriter(wr);
String num;
String val;
for(int n=1;n<=1000000;n++){
i=0;
String c;
c=fr.readLine();
while(c!=null){

int k;
k=c.length();
char s;
s=c.charAt(k-1);
if(s==':'){
c=fr.readLine();
}
else{
String[] tab=c.split(",");
if(Integer.parseInt(tab[0])==n){//c'est ce if qui pose probleme
i++;
}
c=fr.readLine();
}
}
i=nb_film(n);
num=String.valueOf(n);
val=String.valueOf(i);
w.write(num);
w.write(",");
w.write(val);
w.write("\n");
fr.mark(1);
fr.reset();
}
fr.close();
w.close();
}
catch(IOException e){}

}



merci de votre aide
A voir également:

6 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Qu'entends tu par "j'ai une condition if dans mon code qui n'est jamais exécutée" ?
si tu ne rentre jamais dans le if, vérifi que la condition est vérifié.
à ta place, je mettrai juste après :
else 
   {
   w.write("le if n'est pas pris en compte car tab[0] vaut "+tab[0]+" et n vaut "+n);
   }
0
velderama Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
Ou peut etre que tu veux faire 2 operations dans le if donc ambiguité pour lui
->essaie de le faire en 2 temps
...
int c = Integer.parseInt(tab[0]);
if(c==n){
i++;
} 
...
--
Satisfait ou remboursé ! ^_^
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Pour moi, il n'y a pas d'ambigité, je ne voi pas comment interpréter ça autrement.
0
bwaze Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   7
 
j'ai essayé ta proposition mais ça ne marche toujour pas
0
velderama Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
IL me semble que ton "n" est défini nulle part ! donc ton test sera toujours faux...
0
velderama Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
Ah desolé dans le for.... :)
essaie ceci :
...
if(tab[0].equals(n+""){//je caste n en string
i++;
} 
...
0
bwaze Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   7
 
merci mais toujour rien car la valeur de "i" reste égale à 0
0

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

Posez votre question
velderama Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
Ah oui c'etait par rapport au "i"
enleve le "i" apres le for car a chaque boucle il refait i=0 ! c'etait ca ton probleme je pense...
0
bwaze Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   7
 
non c'est pas le "i" et d'ailleur "i" doit etre egale à 0 pour chaque nouveau "n"
je pense que le probleme c'est la boucle "for" car si je l'enleve je rentre bien dans le "if"
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
je ne voi pas en quoi la boucle for pourrai poser problème, ça viens d'ailleur (ou alors ton compilateur, c'est vraiment de la m...)
0
bwaze Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   7 > Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention  
 
tt à fait d'accord avec toi mais le probleme est si j'enleve la boucle for je rentre dans le "if"
et je suis obligé de la garder cette boucle parce que sinon l'execution prendra une éternité
maintenant ce que je veux c'est de savoir ou se trouve exactement mon probleme
0
kaita Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
uitgyugtyutgyutuytyu
0