需要递归地从文本文件中打印boss名称

时间:2011-04-24 21:02:20

标签: java recursion

在我的Java课程中,我们刚刚学习了递归,这就是我被要求做的问题。在文本文件中,有以下格式的几行员工:名称,小时,工资,老板。

我有一个扫描仪设置,一切运行良好,除了东西是有一个主要的老板(“N / A”是他的老板领域下的东西),然后它树木成为不同的人(在文本文件中)它们不是有序的。)任务是按排名顺序打印它们,即:

  

BossName:Wage

     

- 第二名员工:工资

     

----第三名员工:工资

     

- 第四名员工:工资

这必须以递归方式完成,而且我完全被难倒了。我只是不知道该把什么作为“基本案例”或如何开始它。

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

2 个答案:

答案 0 :(得分:1)

您需要编写一个方法,查找具有给定老板的所有员工。然后编写另一个方法,给定一个老板名称和一个级别,找到老板并且相当打印他/她,然后找到所有员工(通过调用第一个方法)并递归地为每个员工调用自己。

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

答案 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