Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/12/2014, 02:20
GM_Juanjo
 
Fecha de Ingreso: febrero-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Como escribir una fórmula

Código:
public class JavaApplication9 {
   public static String calculador(double x,double n)
   {
       String arcotangente;
       double suma=0;
       
       if(x>=-1.0 && x<=1.0 && n>1)
       {
          for (double i=0; i<=n; i++)
          {
           suma= suma+((Math.pow(-1.0,i-1.0)/(2.0*i-1.0)))*(Math.pow(-1.0,i-1.0)/(2.0*i-1.0)*x*x); 
           System.out.println(((Math.pow(-1.0,i-1.0)/(2.0*i-1.0)))*(Math.pow(-1.0,i-1.0)/(2.0*i-1.0)*x*x));
          }
          double anguloRadianes = Math.atan(suma);
          double anguloGrados = Math.toDegrees(anguloRadianes);         
          return (String.valueOf(anguloGrados));
       }
       else
       {
           arcotangente="Double.NaN";
           return arcotangente;
       }    
   }
   public static String calculador2(double x,double n)
   {
       String arcotangente;
       double suma=0;
       
       if(x>=-1.0 && x<=1.0 && n>1)
       {
          for (double i=0; i<=n; i++)
          {
           suma= suma+((potencia(-1.0,(int)i-1)/(2.0*i-1.0)))*(potencia(-1.0,(int)i-1)/(2.0*i-1.0)*x*x);   
           System.out.println(((potencia(-1.0,(int)i-1)/(2.0*i-1.0)))*(potencia(-1.0,(int)i-1)/(2.0*i-1.0)*x*x));
          }
          double anguloRadianes = Math.atan(suma);
          double anguloGrados = Math.toDegrees(anguloRadianes);         
          return (String.valueOf(anguloGrados));
       }
       else
       {
           arcotangente="Double.NaN";
           return arcotangente;
       }    
   }
   public static double potencia(Double a,int b)
   {
       if(b>0) 
       {
           return a*potencia(a,b-1);
       }
       else if(b==0)
           return 1;
       else return -1;
   }
   
   public static String calculador3(double x,double n)
   {
       String arcotangente;
       double suma=0;
       
       if(x>=-1.0 && x<=1.0 && n>1)
       {
          for (double i=0; i<=n; i++)
          {
           suma= suma+((potencia2(-1.0,(int)i-1)/(2.0*i-1.0)))*(potencia2(-1.0,(int)i-1)/(2.0*i-1.0)*x*x);   
           System.out.println(((potencia2(-1.0,(int)i-1)/(2.0*i-1.0)))*(potencia2(-1.0,(int)i-1)/(2.0*i-1.0)*x*x));
          }
          double anguloRadianes = Math.atan(suma);
          double anguloGrados = Math.toDegrees(anguloRadianes);         
          return (String.valueOf(anguloGrados));
       }
       else
       {
           arcotangente="Double.NaN";
           return arcotangente;
       }    
   }
   public static double potencia2(Double a,int b)
   {
       if(b%2==0) 
       {
           return -1;
       }
       else return 1;
   }
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("----------\nResultado1=\n"+calculador(0.5,19));
        System.out.println("----------\nResultado2=\n"+calculador2(0.5,19));
        System.out.println("----------\nResultado3=\n"+calculador3(0.5,19));
    }
}
Hay tienes 2 formas de solucionarlo, pero la forma correcta es la 3, creo que podrás verlo fácil como funciona.

Saludos,

PD: Hice todo static para hacer el código y probarlo en 5 minutos.