执行此操作
我必须使用我在这个文本文件中的名字创建一个哈希图
关系文本文件:
Susan Sarandon | Tom Hanks : Cloud Atlas
Tom Hanks | Kevin Bacon : Apollo 13
Leonardo Dicaprio | Kevin Bacon : This Boy's Life
Robert De Niro | Kevin Bacon : This Boy's Life
Barack Obama | Tom Hanks : the Road We've Traveled
Helen Keller | Katharine Cornell : Helen Keller in Her Story
Katharine Cornell | Helen Hayes : Stage Door Canteen
Helen Hayes | John Laughlin : Murder with Mirrors
John Laughlin | Kevin Bacon : Footloose
Mark Zuckerberg | Joe Lipari : Terms and Conditions May Apply
Joe Lipari | Welker White : Eat Pray Love
Welker White | Kevin Bacon : Lemon Sky
这是我现在拥有的程序:
public static void main(String[] args)
throws FileNotFoundException
{
Scanner input = new Scanner(new File("relationships"));
HashMap<String, String> relationships = new HashMap<String, String>();
while (input.hasNextLine()) {
String[] columns = input.nextLine().split(" ");
relationships.put(columns[0], columns[1]);
}
System.out.println(relationships);
}
这是输出:
{Leonardo=Dicaprio, Katharine=Cornell, Joe=Lipari, Tom=Hanks, Robert=De, Susan=Sarandon, John=Laughlin, Mark=Zuckerberg, Barack=Obama, Welker=White, Helen=Hayes}
有谁知道如何解决这个问题?还有如何将它们分开,使其实际上看起来像一个列表?
编辑
我想你只会改变你的行:
String[] columns = input.nextLine().split(" ");
自:
String[] columns = input.nextLine().split(Pattern.quote(" | "));
然后column[0]
是左边的名字,column[1]
是右边的名字和电影标题。
请注意,您需要import java.util.regex.Pattern;