Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2012, 05:48
sergimbo
 
Fecha de Ingreso: noviembre-2009
Mensajes: 98
Antigüedad: 15 años
Puntos: 2
Como puedo ejecutar estos dos metodos desde el main

Hola! Tengo los siguientes métodos dentro de una clase.
Código:
 /**
     * método que evalúa el polinomio p(x) de modo directo
     */
    public double evaluar_directo (double x) {
        double valor = a[0];
        int n = a.length;
        double y = 0;
        for(int i = 1; i<=n; i++){
            for(int j = 2; j<=i; j++){
            y = y * x;}
            valor = valor +a[i] * y;}
        return valor;
    }

    /**
     * método que evalúa el polinomio p(x) aplicando el algoritmo de Horner
     */
    public double evaluar_Horner (double x) {
        /** A completar por el alumno */
        int n = a.length;
        double valor = a[n];
        for(int i = n-1; i<=0;i--)
            valor = valor * x + a[i];
        return valor;
    }

    /**
     * método que calcula el tiempo en milisegundos de
     * ejecutar 1000 veces la evaluación del polinomio
     * si el parámetro j vale 0, se usa el método directo
     * si el parámetro j no vale 0, se usa el método de Horner
     */
    public void test (double x, int j) {
        double v = 0;
        long t0 = System.currentTimeMillis();
        for (int i=0; i<1000; i++)
            if ( j==0 )
                v = evaluar_directo(x);
            else
                v = evaluar_Horner(x);
        long t1 = System.currentTimeMillis();
        String s = ( j==0 ) ? "evaluar_directo: " : "evaluar_Horner:  ";
        System.out.print(s+"grado = "+grado()+"\tp("+x+")="+v+"\t\ttiempo = "+(t1-t0)+" mseg.\t");
    }
El problema es que tengo que ejecutar el metodo test desde el main pero no se como hacerlo.

En el main escribo test(7,0); y me devuelve el error non-static method cannot be referenced from a static context
Como se podia solucionar este tipo de errores?

Saludos y gracias de antemano.