我需要导入一个文件并让扫描仪只打印列表中的电影。电影始终是该行中的第一个单词,并且格式总是这样,它们将显示为标题,然后是括号中的年份:
拯救大兵瑞恩(1998)
在电影标题之后会有一个/然后是一个演员名称,格式化为姓氏,名字,然后是另一个斜杠,然后是下一个演员姓名。当电影的演员全部被列出时,行结束并且下一行的另一部电影也会发生同样的事情。
我如何制作一个代码,列出所有电影中的某个演员,列出某部电影的所有演员,列出所有电影(没有演员),列出所有电影中发布的电影某一年等等?
答案 0 :(得分: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]);
}
}
或者像我之前提到的那样你可以用正斜杠分割电影