2015-02-05 3 views
-1

파일을 가져와 스캐너가 목록의 동영상 만 인쇄해야합니다. 영화는 항상 라인의 첫 번째 단어와 항상 괄호 안에 제목과 다음 연도로 표시됩니다 있도록 포맷 : (1998)특정 조건과 일치하는 파일의 행만 인쇄하는 방법은 무엇입니까?

영화에 이어

라이언 일병 구하기 title 거기에는 성, 이름, 그리고 다른 슬래시와 그 다음 액터 이름과 같은 형식의 액터 이름이있을 것입니다. 영화의 배우가 모두 나열되면 줄이 끝나고 다음 줄의 다른 영화에서 동일한 작업이 수행됩니다.

특정 액터가 포함 된 모든 영화를 나열하고 특정 영화의 모든 액터를 나열하고 모든 액터를 나열하고 (출연자없이) 코드를 작성하여 출시 된 모든 영화를 나열 할 수 있습니까? 특정 해 등등?

+3

로 영화를 분할하기 전에 내가 언급처럼? 어떤 문제가 발생하여 도움이 필요합니까? 아니면 당신을 위해 숙제를 할 사람을 찾고 있습니까? – ivantod

+0

나는 파일을'Map >'으로 파싱했다. 자바에는 원하는대로 컬렉션을 조작 할 수있는 많은 도구가 있습니다. – azurefrog

+0

나는 숙제를 할 사람을 찾고 있지 않다. 나는 올바른 방향으로 끄덕임을 찾고있다. 나는 .matches (정규식)를 사용하여 "단어"(숫자)의 형식과 일치하는 항목 만 추가하여 영화의 arraylist를 만들지 만 그러한 조건을 가진 모든 것들을 인쇄 해보라고 요청하면 아무것도 출력하지 않습니다. 나는 그것이 단지 개인적인 단어를보고 있기 때문에 그것이라고 생각한다. 전체 라인을 살펴보고 영화 제목 인 부분을 선택한 다음 괄호 안의 숫자 만 선택하는 방법을 모르겠습니다. –

답변

0

당신은 같은 것을 할 수있는 :

ArrayList<String> allMovies = new ArrayList<String>(); 

    for (String movie : allMovies) 
    { 
     if (movie.contains("Tom Hanks")) 
      System.out.println(movie); 
    } 

을하거나 split()

를 사용하여 당신이 그들의 서로 다른 범주 (제목, 배우, 년)로 영화의 각을 분리 할 수 ​​더 구체적인 얻고 싶었다 경우
String[] arr = movie.split("/"); 

편집 :

죄송합니다, 나는 당신이 목록에서 동영상을했다고 생각하지만, 아이디어는 여전히 동일합니다. 스캐너의 각 동영상을 반복하고 일치하는 문구가 포함되어 있으면이를 인쇄하고 싶습니다. 이런 식으로 뭔가 :

while (scanner.hasNext()) 
{ 
    String movie = scanner.next(); 
    //split the movie by "/" 
    String[] arr = movie.split("/"); 
    //if movie contains phrase, print it out 
    if (movie.contains("Tom Hanks")) 
    { 
     //print out title 
     System.out.println(arr[0]); 
    } 
} 

또는 당신은 당신이 시도 무엇 슬래시

+0

저는 초심자입니다. 그래서이 코드를 실행하려고 시도했지만 아무 것도하지 않았습니다. 스캐너에 넣었습니다. –

+0

분할 된 것을 어떻게 통합 할 수 있습니까? 나는 firstName.split ("/")이 어떻게 작동 할 수 있도록 theScanner.next()를 출력하는 클래스 firstName을 이미 가지고 있습니까? –

+0

Drop27은 훌륭하게 작동하지만 scanner.nextLine(). contains ("Tom Hanks")를 만들어야하기 때문에 액터를 포함한 전체 라인을 출력합니다. 열린 괄호에 도달 할 때까지 각 줄의 첫 단어 만 인쇄하도록 어떻게 만들 수 있습니까? –

관련 문제