2016-06-16 3 views
-4

3 단어 ("1", "2"및 "3")가 포함 된 ArrayList<String>이 있습니다. 문자열 파일이 있습니다. ArrayList에 정확히 두 항목이 들어있는 파일에서 문자열을 찾아야합니다. 어떻게해야합니까?파일에서 특정 문자열 검색

+4

Google에 알려 주셔서 감사합니다. 구현 중 특정 문제가 발생하면 해당 정보를 포함 시키십시오. 그러면 문제 해결에 도움을 드리겠습니다. 프로그램에 행운을 비네! – Zircon

+0

자바 스캐너를 사용하여 파일을 읽을 수 있으며 각 문자열에 대해 루프를 실행하고 조건을 확인할 수 있습니다. [http://stackoverflow.com/questions/13185727/reading-a-txt-file-using-scanner-class -in-java] – GOXR3PLUS

+0

코드는 다음과 같습니다. – nesher

답변

-1

먼저 분석해야 할 문자열/내용을 읽어야합니다. 그런 다음 콘텐츠의 ArrayList에서 키워드를 셀 수 있습니다. 콘텐츠에 포함되어 있는지 테스트하는 각 키워드에 대해이 경우 카운트가 증가합니다. 카운트가 2이면 문자열을 찾았습니다.

public ArrayList<String> findStrings(ArrayList<String> searchStrings) { 
    ArrayList<String> foundStrings = new ArrayList<>(); 
    while (hasMoreLines()) { 
     String content = getNextString(); 
     if (countStrings(content, searchStrings) == 2) { 
      foundStrings.add(content); 
     } 
    } 
    return foundStrings; 
} 

private int countStrings(String content, ArrayList<String> searchStrings) { 
    int count = 0; 
    for (String searchString : searchStrings) { 
     if (content.contains(searchString)) { 
      count++; 
     } 
    } 
    return count; 
} 

hasMoreLinesgetNextString가 누락 및 BufferedReader와 편이 바람직한 구현해야합니다.

+0

Roland에게 감사드립니다. 너의 조언이 나를 도왔다. – nesher

관련 문제