Rechercher : dans
Par :

[Java] Sortie boucle while

Dernière réponse le 25 avr 2009 à 17:28:48 LCoileux, le 25 avr 2009 à 16:46:17 
 Signaler ce message aux modérateurs

Bonjour,
débutant en java, je suis en train de faire un programme qui me cherche les mots dans un fichier qui ne font pas partie d'une liste de mots-clés, et qui me les affiche.
Seulement voilà, je me suis servi d'une boucle while, cela marchait encore il y a quelques jours, et depuis hier, impossible de sortir de la boucle !
J'ai du modifier une partie du code sans m'en apercevoir en essayant de l'ameliorer, mais je ne voie pas où...

import java.io.*;
import java.util.*;

public class Test{	
	public static void main (String[] args){
		ArrayList al = new ArrayList();
		try {
		StreamTokenizer flot = new StreamTokenizer(new BufferedReader( new FileReader("ListeMotsClesEnzo.txt")));
		int lu = flot.nextToken();
		int i = 0;
		while (lu != StreamTokenizer.TT_EOF){
			al.add(flot.sval);
			lu = flot.nextToken();
			i++;
		}
		}
		catch (IOException e){ System.out.println("Erreur");}
		
		try {
		StreamTokenizer flot2 = new StreamTokenizer(new BufferedReader( new FileReader("TestEnzo.txt")));
		int lu2 = flot2.nextToken();
		String val = "";
		while (lu2 != StreamTokenizer.TT_EOF){
			val = "";
			for (int j=0; j<al.size(); j++){
				if (!(al.contains(flot2.sval))) 
						{val = flot2.sval;}
			}
		}
		if (!(val.equals(""))) {System.out.println(val);}
		lu2=flot2.nextToken();
		}	
		catch (IOException e){System.out.println("Erreur");}
	}
}


et c'est à ce niveau que ca bloque:

while (lu2 != StreamTokenizer.TT_EOF){
			val = "";
			for (int j=0; j<al.size(); j++){
				if (!(al.contains(flot2.sval))) 
						{val = flot2.sval;}
			}
		}


Merci d'avance
Configuration: Indeterminable Indeterminable

Meilleures réponses pour « [Java] Sortie boucle while » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Java: Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...
Perl - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

LCoileux, le 25 avr 2009 à 17:09:01

Oups, je vient de trouver d'où ca venait. Une simple (mais chiante) erreur de fermeture, je fermais la boucle trop tôt...

Répondre à LCoileux

2

 danimo, le 25 avr 2009 à 17:28:48
  • +1

Salut,

Cette boucle est nouvelle ?

while (lu2 != StreamTokenizer.TT_EOF){
val = "";
for (int j=0; j<al.size(); j++){
if (!(al.contains(flot2.sval)))
{val = flot2.sval;}
}
}

La boucle for (int j=0; j<al.size(); j++){
termine bien elle, mais comme lu2 reste à la même valeur la boucle while continue sans fin .

Cordialement,

Dan

Répondre à danimo