2012-03-02 4 views
0

좋아요. 질문은 파일을 읽고 검색하여 입력 한 문자가있는 단어를 찾을 수 있도록 예를 들어 A??C을 입력하십시오. 첫 번째 문자로 A를, 네 번째 문자로 C를 반환합니다. 크로스 워드 퍼즐사전의 모든 단어가 포함 된 파일 검색

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

public class Main { 
    public static void main(String[] args) { 
     NewClass reader = new NewClass(); 
     String[] contents = reader.load("/home/se211012/CS211/text"); 

     Scanner scan = new Scanner(System.in); 
     System.out.println("enter word"); 
     String s = scan.nextLine(); 
     for (int i = 0; i < contents.length; i++) { 

     } 
    } 
} 

파일에 읽기 해결하는 데 도움이 될 것으로 예상되는 것은 당신이 볼 수 있음을 수행하는 클래스가 괜찮지 만, 나는 당장은 모른다. 어떤 도움을 주시면 감사하겠습니다.

+0

나에게 숙제처럼 보입니다. 이를 정규식에 익숙해 져야한다고 선언 할 수 있습니다 (업계 프로그래머가 작업에서이 문제를 해결하는 데 사용할 방법이기 때문에) –

+0

죄송합니다. 사이트를 처음 사용하는 것은 미안합니다. – user1244808

답변

0

달성하려면 아마도 regular expression을 사용해야합니다.

단어를 일치시키는 정규식을 만들고 컬렉션을 통해 일치하는 것을 검색하십시오.
정규 표현식에서 .은 모든 문자를 의미합니다.

MatcherPattern 클래스도 살펴볼 수 있습니다.

+0

좋아, 이제 나는 이것을 가지고 인쇄되지 않을 것이다. 단어를 입력하라는 메시지가 나타나면 정규식을 입력했습니다. String s = scan.nextLine(); (int i = 0; i user1244808

+0

@ user1244808 :'matcher()'는 ** 완전 일치 ** ** "abcde".matches ("a..d") == false'를 요구합니다. 그러나, "abcde".matches ("a..d. *") == true'. 구현에 대한 추가 정보없이보다 유용한 조언을 줄 수 있을지는 의문입니다. – amit

+0

나는 그것을 완벽하게 고맙게 생각한다. – user1244808

0

검색 조건을 정규식으로 변환하는 것이 좋습니다. 예 :

A??C -> A[A-Z]{2}C or A\w{2}C or whatever you need for the ? placeholder 

그런 다음 정규식으로 사전을 검색하십시오.

관련 문제