2012-08-03 68 views
0

嗨我有一個相當簡單的程序,但我無法理解爲什麼當我運行它時有一個inifite循環。我正在閱讀的文件有10個整數。我正在使用Eclipse Juno,並且控制檯中的輸出以無限次的281363開始計數。我怎樣才能解決這個問題?提前致謝。在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(); 
} 

}

回答

7

你永遠叫inputFile.nextInt() - 你只調用hasNextInt(),這實際上並不在該文件中前進的位置。你可能想:

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