Implementar fórmula con recursividad en Java


public class CalcularValor {

public static void main(String[] args) {
// TODO Auto-generated method stub
/*1. Se desea calcular el valor C(n) dado por
  C(n) = 2/n Sum_{i=0}^{n-1}C(i) + n con C(0) = 1.
Se pide:
(a) Dar una solución recursiva del problema y crear tests Junit para C(i) con i en {0,1,2,3}
(b) Dar una solución iterativa. Crear un test en junit que compare las soluciones obtenidas de (a) y (b) para i en {4, ..., 15}
(c) ¿cuál de las dos es computacionalmente más interesante?
(d) ¿Puedes conseguir una solución iterativa con complejidad lineal en n?
(e) ¿puedes conseguir una solución recursiva con complejidad lineal?
*/
java.util.Scanner lee = new java.util.Scanner(System.in);

double n = lee.nextInt();

double solucion = 1;
double solres=1;
for (int i = 1; i <n+1; i++) {
if(i<(n)){
solres +=((2/i)*solucion)+i;
}
solucion += ((2/i)*solucion)+i;

}
System.out.println(solucion-solres);



double sol = metodo(n);
System.out.println(sol);
lee.close();
}
public static double metodo(double n) {

if(n==0){
return 1;
}else{
return (2/n*metodo(n-1))+n;
}

}

}