Aide en java

Fermé
bwaze Messages postés 46 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 26 mai 2009 - 22 mai 2008 à 12:24
bwaze Messages postés 46 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 26 mai 2009 - 23 mai 2008 à 09:46
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 mai 2008 à 12:49
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 mardi 26 février 2008 Statut Membre Dernière intervention 11 mai 2011 10
22 mai 2008 à 13:38
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 mai 2008 à 14:29
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 26 mai 2009 7
22 mai 2008 à 14:43
j'ai essayé ta proposition mais ça ne marche toujour pas
0
velderama Messages postés 199 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 11 mai 2011 10
22 mai 2008 à 14:53
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 mardi 26 février 2008 Statut Membre Dernière intervention 11 mai 2011 10
22 mai 2008 à 14:56
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 26 mai 2009 7
22 mai 2008 à 15:30
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 mardi 26 février 2008 Statut Membre Dernière intervention 11 mai 2011 10
22 mai 2008 à 16:03
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 26 mai 2009 7
22 mai 2008 à 16:27
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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
23 mai 2008 à 08:28
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 26 mai 2009 7 > Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023
23 mai 2008 à 09:46
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 lundi 19 mai 2008 Statut Membre Dernière intervention 22 mai 2008
22 mai 2008 à 16:07
uitgyugtyutgyutuytyu
0