2011-04-24 41 views
0

在我的Java类中,我们刚刚学习了递归,这是我被要求做的问题。在一个文本文件中,这种格式有几行雇员:姓名,工时,工资,老板。需要从文本文件递归地打印boss名称

我有一台扫描仪,一切正常,除了有一个主要的老板(“不适用”是他的老板领域之下),然后它变成了不同的人(在文本中文件它们不按顺序)的任务是打印他们的排名顺序,即:

BossName:工资

--2nd员工:工资

---- 3员工:工资

- 第四员工:工资

这必须完成递归,我彻底难倒。我只是无法找到作为“基本案例”或如何启动它的东西。

感谢您的帮助,非常感谢。

回答

1

你需要写一个方法,找到所有雇员与给定的老板。然后写另一种方法,给老板的名字和级别,找到老板并且漂亮地打印他/她,然后找到所有员工(通过调用第一种方法)并递归地为每个员工调用自己。

从main调用第二个方法,使用“N/A”作为boss名称和1作为级别。

0

以及检查这个简单的源代码,说不定就会让你开始...

import java.io.*; 

class test 
{ 
     //main method 
    public static void main (String[] args) throws java.io.IOException 
    { 
     String filename = "input.txt"; 

     // Initialize the reader 
     BufferedReader reader = null; 
     try { 
      reader = new BufferedReader(new FileReader(filename)); 
     } 
     catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 

     //recursive call 
     myRecursion(reader); 

    } //end main 

    //method using recursion to read a file 
    static void myRecursion(BufferedReader br) 
    { 
     String s1 = ""; 

     try { 
      s1 = br.readLine(); 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
     } 

     if(s1 == null) 
      return; 
     else 
     { 
      System.out.println (s1); 
      myRecursion(br); 
      return; 
     } 
    } //end method 
} //end class 

的input.txt的是:

one 
two 
three