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.