2012-08-03 5 views
0

Salut J'ai un programme assez simple mais j'ai du mal à comprendre pourquoi j'ai une boucle inifite quand je l'exécute. Le fichier que je lis a 10 entiers dedans. J'utilise Eclipse Juno et la sortie dans la console compte par 1 à partir de 281363 infiniment. Comment puis-je réparer cela? Merci d'avance.Boucle infinie avec lecture de fichier texte entier en Java

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

public class TestScoreAnalyzer 
{ 
public static void main(String[] args) throws FileNotFoundException 
{ 
     int arraySize = 0; 

     File file = new File("C:\\Users\\Quinn\\workspace\\CPS121\\src\\ 
          additionalAssignments\\scoresSample.txt"); 
    Scanner inputFile = new Scanner(file); 

     while(inputFile.hasNextInt()) 
    { 
    arraySize++; 
    System.out.println(arraySize); 
    } 

    inputFile.close(); 
} 

}

Répondre

7

Vous n'êtes jamais appeler inputFile.nextInt() - vous êtes seulement appeler hasNextInt(), qui ne fait pas avancer l'emplacement dans le fichier. Vous voulez sans doute:

while (inputFile.hasNextInt()) 
{ 
    arraySize++; 
    System.out.println(arraySize); 
    int value = inputFile.nextInt(); 
    // Do something with the value? 
}