Не получается достучатся к переменным xrez, yrez во вложенном if'е:
public class GradMethod {
public double XREZ;
public double YREZ;
GuiLab2 accessObj = new GuiLab2();
double x0 = Double.parseDouble(accessObj.strPn1);
double eps = Double.parseDouble(accessObj.strEps);
double a = Double.parseDouble(accessObj.strA);
double b = Double.parseDouble(accessObj.strB);
double c = Double.parseDouble(accessObj.strC);
double d = Double.parseDouble(accessObj.strD);
double xn = Double.parseDouble(accessObj.strPn2);
double sigma = 0.5;
double nxk;
private double func(double x) {
double f = a * x - b * Math.pow(x, 2) + Math.pow(Math.E, (c * x0 + d * xn));
return f;
}
private double prFunc(double x) {
double f = a - 2*b*x + (c + 2*d) * Math.pow(Math.E, (c*x0 + d*xn));
return f;
}
public void GradMethod() {
double xrez , yrez;
prFunc(x0);
int k = 0;
double xk = x0 + eps;
if (func(xk - eps * prFunc(xk)) - func(xk) <= - sigma * eps * Math.pow(Math.abs(prFunc(xk)), 2)) {
nxk = xk - eps * prFunc(xk);
prFunc(nxk);
if(Math.abs(prFunc(nxk)) <= eps) {
xrez = 2; //Например, присвоим тут 2-ку
yrez = func(nxk);
} else {
k = k + 1;
//continue;
}
} else {
eps = eps / 2;
//continue;
}
XREZ = xrez; //а тут всё равно просит инициализировать xrez
YREZ = yrez;
}
}
Объясните пожалуйста, как решить это проблему. Результат работы метода нужно вывести в форму, что никак не получается.