有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

递归培根游戏Java程序?

因此,我正在为我的java类创建Kevin Bacon游戏

这些是我要用的名字档案

参与者:

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()的帮助,我需要程序查找演员,并计算最终到达Kevin bacon时的bacon数

以下是教授对本课程的要求: 1.在hashmap中查找参与者关系 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

如果有人能帮忙的话,我真的需要帮助吗

Tags:  

共 (1) 个答案

  1. # 1 楼答案

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

    -您可以将所有内容加载到[starting person,ending person,movie]数组中,并在该数组中迭代多次,直到找到end person

    -像你一样使用hashmap是可行的,只是加载每一行只代表一个方向(看看Susan Sarandon对Barack Obama的演讲)。而且不能每行加载两次,因为会有重复的键。可以有两个阵列,但不一定是最有效的

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

    你最大的决定是1)如何表示数据,2)如何遍历数据。任何数量的解决方案。把它写在纸上,看看你如何解决它,然后把它变成一个解决方案是值得的