2016-03-01 73 views
-1

所以我为我的java类创建了凯文培根游戏。培根游戏Java程序?

这些都是我得名字的文件使用

演员:

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 
 
{ 
 

 
\t /** 
 
\t * @param args 
 
\t */ 
 
\t private HashMap<String,String> relationships; 
 
\t private HashMap<String,String> actors; 
 
\t 
 
\t public static void main(String[] args) 
 
\t 
 
\t \t \t throws FileNotFoundException 
 
\t { 
 
\t \t Scanner input = new Scanner(new File("relationships")); 
 
\t \t HashMap<String, String> relationships = new HashMap<String, String>(); 
 
\t \t 
 
\t \t while (input.hasNextLine()) { 
 
      String[] columns = input.nextLine().split(Pattern.quote(" | ")); 
 
      relationships.put(columns[0], columns[1]); 
 
     } 
 

 
     System.out.println(relationships); 
 
    
 
\t \t } 
 
\t 
 
\t public BaconNumber() 
 
\t { 
 
\t \t relationships = new HashMap<String,String>(); 
 
\t \t actors = new HashMap<String,String>(); 
 
\t } 
 
\t 
 
\t public void printActors() throws FileNotFoundException 
 
\t { 
 
\t \t Scanner input = new Scanner(new File("actors")); 
 
\t \t 
 
\t \t while (input.hasNextLine()) 
 
\t \t { 
 
\t \t  System.out.println(input.nextLine()); 
 
\t \t } 
 
\t } 
 
\t 
 
\t public int getBaconNumber(String actor , int number) 
 
\t { 
 
\t \t 
 
\t \t if(actor == "Kevin Bacon") 
 
\t \t { 
 
\t \t \t return number; 
 
\t \t } 
 
\t \t 
 
\t \t else 
 
\t \t { 
 
\t \t \t relationships.get(actor); 
 
\t \t \t System.out.println(actor + " starred in " + relationships.value + "with" + relationships.value); 
 
\t \t \t System.out.println(" The Bacon Number for " + actor + " is " + number); 
 
\t \t \t return number; // fix this 
 
\t \t } 
 
\t \t 
 
\t \t relationships.containsKey("Kevin Bacon") 
 
// \t \t { 
 
// \t \t \t number++; 
 
// \t \t \t System.out.println(" The bacon number for" + actor + " is " + number); 
 
// \t \t } 
 
\t \t 
 
// \t \t else 
 
// \t \t { 
 
// \t \t \t 
 
// \t \t } 
 
\t \t 
 
\t \t 
 
\t \t 
 
\t } 
 
}

我需要一些帮助,我getBaconNumber(),我需要的程序来查找演员和计算培根数当它终于到达凯文培根。

继承人什么PROFESOR被要求对这一计划: 1.查找演员的关系在你的HashMap 2.打印当前关系到控制台 3.Call中的关系与第二男主角递归方法(确保你增加你的培根数量)。

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

我需要它来打印这样的:

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

如果任何人都可以在所有帮助,请我真的需要帮助,

+0

我还需要BaconGame.java的其他帮助。它必须创建一个baconNumber对象,并按照helen keller示例所述管理游戏的输入和输出。在这一点上,只有程序 – Jay

回答

1

因为这是一个任务,我会提供一些概念和想法,但你需要把它变成一些东西。

- 您可以将所有内容加载到[起始人,结束人,电影]的数组中,然后多次遍历数组,直到找到最终人。

-使用像你这样的散列图是工程除了仅仅加载每一行只代表一个方向(看苏珊萨兰登到巴拉克奥巴马)。而且你无法加载每一行两次,因为你有重复的密钥。你可以有两个数组,但不一定是最有效的。

- 你可以在信息读取和创建一个无向图,然后就穿越了推荐起始图形和结束点(这可能会对你必须考虑死角)

你最大的决定有1)如何表示数据和2)如何遍历数据。任何数量的解决方案。可能值得在纸上画出来,看看你会如何解决它,然后把它变成一个解决方案。

+0

中包含的主要方法我有点绝望,让某人告诉我如何开始它。他说使用数组不会有必要与图形相同?他们的另一种解决方法是什么?我准备好从这种挫折中拉我的头发 – Jay

+0

你读过我提供的想法,试图设计一个解决方案,编写代码尝试任何事情吗?既然你在我做了这么快之后做出了回应,我对此表示怀疑。最终的游戏是编写电脑程序并不容易,学习写得更难。如果我是你的导师 - 基本上是这里的社区 - 我期望看到一些工作,但我绝对不会为你做你的功课。有几十种可能的解决方案,挑选一个并尝试并得出结论。 –