2015-02-05 18 views
0

只是爲了澄清 - 我不是在尋找確切的答案,只是爲了讓我走上正確的軌道。我應該創建一個程序,它將輸入這個text file,並允許用戶輸入一個演員的名字到掃描儀,並將返回該演員已經進入的所有電影。唯一的問題是,我知道如果掃描儀找到演員的名字,那麼電影標題必須是以前的電影 - 換句話說,如果有一個電影的標題,後面跟着演員名單,然後是縮進,然後是另一個電影標題 - 然後電影將不得不成爲第一個標題。一旦找到演員的名字,我不知道如何讓掃描儀倒退。換句話說:一旦掃描器找到用戶輸入的同名字,我不知道如何告訴它在Scanner.next(上一個單詞)的相反位置,直到它出現在電影標題中。我將如何做到這一點?在mpaa轉換文件中搜索與演員在一起的電影?

+0

你有沒有考慮過解析文件和存儲的'List'(爲參數的緣故)'Movie'對象?也許每個「電影」可能包含另一種類型的「列表」,也許是「演員」? –

+0

對不起,我對這個東西不是很熟練,而我可以查看它,你似乎知道你的意思 - 什麼是列表以及如何創建列表? –

+0

'List movies = new ArrayList <>();'然後你會*添加*'電影'實例......他們在你的課堂上沒有覆蓋過這個嗎? –

回答

0

如果字符串只是一個字符序列,後面跟着括號中的一些數字,那麼它只是一部電影......我如何告訴掃描儀看看是否有任何數字的單詞後跟一個數字?

您可以使用正則表達式。像,

String regex = "^.*\\s*\\(\\d+\\)$"; 
System.out.println("The Matrix (1999)".matches(regex)); 
System.out.println("Laurence Fishburne".matches(regex)); 

輸出是

true 
false 
+0

唯一的問題是我需要它來知道括號中的內容是一個數字。因爲文件中的其他地方有單詞後面跟着羅馬數字的單詞(IV)的括號。 –

+0

哦,我沒有意識到d意味着一個數字。非常感謝你的幫助。 –

+0

但是,如何製作包含所有電影的列表?就像我必須手動完成所有工作,或者有辦法讓代碼將每部電影添加到列表中。因爲電影只在線條的開始處和括號內的數字之前。 –