Mam napisać program znajdujący pierwiastki metodą bisekcji, a dodatkowo:
Klasa odpowiadająca badanej funkcji powinna implementować interfejs:
interface Function{ double getValue(double x); }
Nazwa klasy z badaną funkcją oraz końce przedziałów są argumentami wywołania programu.
i taki kod:
import java.lang.Math.*;
class liniowa implements Function{
double getValue(double x);
return x+1;
}
class kwadratowa implements Function{
double getValue(double x);
return x*x+1;
}
class bisekcja{
static double E = 0.00000001;
double x0;
public static double oblicz(double a, double b , double f)
{
if(f(a) * f(b) < 0){
x0 = a;
while(Math.abs(a-b) > E)
{
x0 = (a + b) / 2;
if(f(a) * f(x0) < 0)
b = x0;
else
a = x0;
}
}
else
x0 = 0;
return x0;
}
public static void main(String[] args){
double a = Double.parseDouble(args[1]);
double b = Double.parseDouble(args[2]);
Function f = new liniowa();
oblicz(a, b, f);
Function f = new kwadratowa();
oblicz(a, b, f);
}
}
Przy kompilacji zwraca błędy w linijkach 5 - 10 np: <identifier> expected i illegal start of type . Nie ma pomysłu jak to naprawić z góry dzięki