在我的Java课程中,我们刚刚学习了递归,这就是我被要求做的问题。在文本文件中,有以下格式的几行员工:名称,小时,工资,老板。
我有一个扫描仪设置,一切运行良好,除了东西是有一个主要的老板(“N / A”是他的老板领域下的东西),然后它树木成为不同的人(在文本文件中)它们不是有序的。)任务是按排名顺序打印它们,即:
BossName:Wage
- 第二名员工:工资
----第三名员工:工资
- 第四名员工:工资
这必须以递归方式完成,而且我完全被难倒了。我只是不知道该把什么作为“基本案例”或如何开始它。
感谢您的帮助,非常感谢。
答案 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