| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package recursive;
- import java.io.File;
- public class Recursive {
-
- public enum Test {
- FILE,
- FIBONACCI
- }
-
- public Recursive(Test t)
- {
- switch(t)
- {
- case FILE:
- runFileTest();
- break;
- case FIBONACCI:
- runFibonacciTest();
- break;
- }
- }
- private void runFibonacciTest() {
- System.err.println("Running recursive fibonacci test...");
- System.out.println(calcFibonacci(20));
- }
- public int calcFibonacci(int n) {
- if(n == 0)
- return 0;
- else if(n == 1)
- return 1;
- else
- return calcFibonacci(n - 1) + calcFibonacci(n - 2);
- }
- private void runFileTest() {
- System.err.println("Running recursive file test...");
- System.out.println(viewFiles("."));
- }
-
- private String viewFiles(String path)
- {
- String str = "\n";
- File folder = new File(path);
- File[] files = folder.listFiles();
-
- for(File f : files)
- {
- if(f.isDirectory())
- str += "\n" + f.getName() + "\t" + viewFiles(f.getAbsolutePath());
- else
- str += "\n\t" + f.getName();
- }
- return str;
- }
- }
|