2013-10-24 3 views
0

Im은 텍스트 파일을 읽고 행 수로 구분하고 각 행의 단어 수를 세는 스캐너로 프로젝트를 만들려고합니다. 단어를 가정문자열 방법으로 단어 수를 계산하는 방법은 무엇입니까?

public void getWordsPerLine(){ 

     try { 
      File file = new File("report.txt"); 
      Scanner scanner = new Scanner(file); 
      int count = 0; 


      while (scanner.hasNextLine()) { 
       String line = scanner.nextLine(); 
       count++; 


       if (count <= 9){ 
       System.out.println(""); 
       System.out.println("Line Number: " + count); 
       System.out.println(line); 
      } 


      } 

     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 


    } 
+5

그리고 문제는 ..? –

+0

한 줄에 나오는 단어의 수를 계산할 때 구분자로 고려할 점은 무엇입니까? 즉, 공백, 탭, 쉼표 및/또는 다른 문자로 분리 된 단어입니까? –

답변

0

당신이 다음 믿을 수있는 '단어'의 배열을 생성합니다 다음 공백으로 구분 된 문자 그룹, inputString.split ("")로되어있다 : 여기에 지금까지 내 코드입니다. 빈 단어를 생성하는 행의 여러 공백 문자가 계산되지 않도록 추가 검사를 수행하거나 .split() 메서드에서 적절한 정규 표현식을 사용하는 것이 좋습니다.

0

String 클래스의 split() 메서드를 사용하여 공백에서 줄을 분리하고 반환 된 배열의 요소 수 (줄의 단어 수와 같음)를 얻을 수 있습니다.

0

매번 당신은

while (scanner.hasNextLine()) { 
String line = scanner.nextLine(); 
countWords(line); 
count++; 

당신은 이미 포스트에서 살펴 봐야 할 수 있습니다 .. 텍스트 파일의 새로운 라인을 읽어 줄에 단어를 계산하는 것입니다 방법에 전달 같은 일을하라고 대답했다. .. Count words in a string method?

관련 문제