2012-12-19 4 views
0

누군가 무한 루프를 만드는 이유를 설명 할 수 있습니까? hurcdata2에는 약 30 개의 스트링 값이 있습니다. 나는 그 문제가 무엇인지 이해하지 못한다. 당신의 while에서왜 무한 루프가 생성됩니까?

import java.util.Scanner; 
import java.io.File; 
import java.io.IOException; 
public class Hurricanes2 
{ 
public static void main(String[] args) throws IOException 
{ 
    int i = 0; 
    int hurricaneNumber = 0; 
    String hurricanes = ""; 
    File fileName = new File("hurcdata2.txt"); 
    Scanner inFile = new Scanner(fileName); 
    while (inFile.hasNext()) 
    { 
     hurricaneNumber++; 
    } 
} 
} 
+1

Java에 대해 아무것도 알지 못하지만 다음 항목에서 inFile로 이동하려면 루프 내에서 코드가 필요합니다. 'hurricaneNumber ++; 뒤에'inFile.nextLine();과 같은 것 –

답변

1

- 루프 당신은 파일의 각 행을 처리하기 위해 inFile.nextLine()를 호출해야합니다. 당신이 다음 토큰을 얻기 위해, 파일 포인터를 향상시키는 데 필요한 @ElectricLlama에 의해 주석에서 언급 한 바와 같이

while (inFile.hasNext()) { 
    hurricaneNumber++; 
    String line = inFile.nextLine(); 
    } 
1

, 그렇지 않으면 hasNext()은 항상 true가됩니다. 이 파일에 questiontutorial을 Java의 파일 I/O에서 확인하십시오.

관련 문제