Bueno los metodos casi los he terminado solo me falta el de asignar nombre, alli es donde estoy atorado no se como hacer para que se guarde el archivo con los datos que me piden si pueden ayudarme se los agradecere, aqui esta mi codigo:
Código:
package Practica2; import java.io.FileReader; import java.io.FileWriter; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.PrintWriter; import java.io.FileNotFoundException; import java.io.IOException; /** * Calcula el número de operaciones que tarda un método en ser ejecutado. */ public class Recursion implements RecursionInterfaz{ int complejidad=1; String archivo; /** * Asigna el nombre del archivo en el cual se añadirá el reporte * del número de operaciones que tardó el último método ejecutado. */ public void asignaNombreDeArchivo(String archivo){ FileWriter fw = new FileWriter(archivo); BufferedWriter bfw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bfw); String linea = ""; /** *Codigo para recorrer y guardar el documeto. * */ pw.close(); } /** * Método para calcular, de forma recursiva, el elemento en la fila * <code>i</code>, en la columna <code>j</code> del triángulo de Pascal * @param i el número de fila * @param j el número de columna * @return El elemento en la <code>i</code>-ésima fila y la * <code>j</code>-ésima columna del triángulo de Pascal. * @throws IndexOutOfBoundsException Si los índices <code>i</code> ó <code>j</code> son inválidos */ public int tPascalRec(int i, int j){ if(i < 0 || j < 0){ throw new IndexOutOfBoundsException("Error"); }else if(j == 0){ return 1; }else if(j == i){ return 1; }else{ complejidad++; return tPascalRec(i - 1, j - 1) + tPascalRec( i - 1, j); } } /** * Método para calcular, iterativamente, el elemento en la fila * <code>i</code> y la columna <code>j</code> del triángulo de Pascal * @param i el número de fila * @param j el número de columna * @return El elemento en la i-ésima fila y la j-ésima columna del triángulo * de Pascal. * @throws IndexOutOfBoundsException Si los índices <code>i</code> ó <code>j</code> son inválidos */ public int tPascalIt(int i,int j){ int a = 0; int ans = 1,ans2 = 1, ans3 = 1;; if(i < 0 || j < 0){ throw new IndexOutOfBoundsException("Error"); }else if((i == 0) || (j == i)){ a = 1; }else{ complejidad=1; for(int n = 2; n <= i; n++){ ans *= n; complejidad++; } for(int y = 2; y <= j; y++){ ans2 *= y; complejidad++; } for(int x = 2; x <= ( i - j); x++){ ans3 *= x; complejidad++; } a = ans/(ans2 * ans3); } return a; } /** * Devuelve el n-ésimo elemento, calculado de forma recursiva, * de la sucesión de Fibonacci * @param n el índice del elemento que se desea calcular * @return el n-ésimo elemento de la sucesión de Fibonacci * @throws IndexOutOfBoundsException Si el valor de <code>n</code>es inválido */ public int fibonacciRec(int n){ if( n < 0){ throw new IndexOutOfBoundsException("Error"); }else if((n == 0) || (n == 1)){ //return 1; return n; }else{ complejidad++; return fibonacciRec( n - 1) + fibonacciRec( n - 2); } } /** * Devuelve el n-ésimo elemento, calculado de forma iterativa, * de la sucesión de Fibonacci * @param n el índice del elemento que se desea calcular * @return el n-ésimo elemento de la sucesiónd de Fibonacci *@throws IndexOutOfBoundsException Si el valor de <code>n</code>es inválido */ public int fibonacciIt(int n){ int a = 0, b, c; b = c = 1; if(n < 0){ throw new IndexOutOfBoundsException("Error"); }else if((n == 0) || (n == 1)){ a = 1; }else{ a = 1; for(int i = 3; i <= n; i++){ a = b + c; c = b; b = a; complejidad++; } } return a; } }