gpt4 book ai didi

java - 培根游戏Java程序?

转载 作者:行者123 更新时间:2023-12-01 10:19:23 26 4
gpt4 key购买 nike

所以我正在为我的 java 类创建 Kevin Bacon 游戏。

这些是我必须使用的名称文件

Actor :

Leonardo Dicaprio
Susan Sarandon
Tom Hanks
Robert De Niro
Barack Obama
Helen Keller
Katharine Cornell
Helen Hayes
John Laughlin
Mark Zuckerberg
Joe Lipari
Welker White

关系:

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

这是我现在的程序:

package Game;

import java.io.*;

import java.util.HashMap;
import java.util.Scanner;
import java.util.regex.Pattern;


/**
* @author
*
*/
public class BaconNumber
{

/**
* @param args
*/
private HashMap<String,String> relationships;
private HashMap<String,String> actors;

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(Pattern.quote(" | "));
relationships.put(columns[0], columns[1]);
}

System.out.println(relationships);

}

public BaconNumber()
{
relationships = new HashMap<String,String>();
actors = new HashMap<String,String>();
}

public void printActors() throws FileNotFoundException
{
Scanner input = new Scanner(new File("actors"));

while (input.hasNextLine())
{
System.out.println(input.nextLine());
}
}

public int getBaconNumber( String actor , int number)
{

if( actor == "Kevin Bacon")
{
return number;
}

else
{
relationships.get(actor);
System.out.println(actor + " starred in " + relationships.value + "with" + relationships.value );
System.out.println( " The Bacon Number for " + actor + " is " + number );
return number; // fix this
}

relationships.containsKey("Kevin Bacon")
// {
// number++;
// System.out.println(" The bacon number for" + actor + " is " + number );
// }

// else
// {
//
// }



}
}

我的 getBaconNumber() 需要一些帮助,我需要程序来查找 Actor 并计算最终到达凯文·培根时的培根编号。

教授对这个项目的要求如下:1. 在 hashmap 中查找 actor 关系2.将当前关系打印到控制台3.与关系中的第二个参与者递归调用该方法(确保增加培根数)。

这个方法让我感到困惑,我无法完成它。

我需要它来打印这样的东西:

Helen Keller
Helen Keller starred in "Helen Keller in her story" with Katherine Cornell.
Katherine Cornell starred in " Stage Door Canteen " with Helen Hayes.
Helen Hays starred in "Murder with mirrors" with John Laughlin.
John Laughlin starred in " FootLoose" with Kevin Bacon.
The bacon number for Helen Keller is 4

如果有人可以提供帮助,我真的需要帮助吗

最佳答案

由于这是一项作业,我将提供一些概念和想法,但您需要将其转化为某种东西。

- 您可以将所有内容加载到 [开始人物、结束人物、电影] 数组中,然后多次迭代该数组,直到找到结束人物。

- 使用像你这样的 HashMap 是有效的,除了仅加载每一行仅代表一个方向(看看苏珊·萨兰登到巴拉克·奥巴马)。而且你不能将每一行加载两次,因为你有重复的键。您可以有两个数组,但不一定是最有效的。

- 您可以读取信息并创建一个无向图,然后遍历该图以找到推荐的起点和终点(这可能有您必须考虑的死胡同)

您面临的最大决定是 1) 如何表示数据以及 2) 如何遍历数据。任意数量的解决方案。将其画在纸上并看看如何解决它然后将其转化为解决方案可能是值得的。

关于java - 培根游戏Java程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35713047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com