Прошу прощения за просьбу о помощи, которая может быть базовой; Тем не менее, я попробовал каждый пост Google и YouTube (на моем уровне), и я не могу понять это. Я пытаюсь создать метод, который возвращает мне корни многочлена к 3-й степени. Код работает один; однако, когда я пытаюсь вставить возвращаемую функцию, я делаю возвращаемое значение массивом (потому что будет 3 корня, или 3 значения, которые нужно вернуть). Когда я делаю это, я получаю сообщение об ошибке рядом с функцией возврата, которая гласит [«Несовместимые типы: double [] не может быть преобразовано в double»]
public class RootFinder {
double[] roots = new double[3];
double R(double a, double pa, double b, double pb, double c, double pc, double d, double rp4){
/*Scanner sc = new Scanner(System.in);*/
double dx, dc, root, root1 = 0, root2;
double r1, r2, r3, remmainder, rp1, rp2, rp3;
System.out.println("Enter the quotient coefficients followed by their power:");
for(double i = -10; i<= 12; i++){
dx = 1;
dc = i;
root = (-1*dc)/dx;
r1 = a;
r2 = (root*a)+b;
r3 = (root*r2)+c;
rp1 = pa-1;
rp2 = pb-1;
rp3 = pc-1;
remmainder = (root*r3)+d;
if(remmainder == 0){
System.out.print("The Division equatates to: ");
roots[2] = ((-1*r2) + Math.sqrt((Math.pow(r2, 2)-(4*r1*r3))))/(r1*2); //quadratic formula (first root)
roots[3] = ((-1*r2) - Math.sqrt((Math.pow(r2, 2)-(4*r1*r3))))/(r1*2); //quadratic formula (second root)
//System.out.println("("+dx+"x"+dc+")"+"("+"x"+(double)root[2]+")"+"("+"x"+(double)root[3]+")");
roots[1] = (dc*-1); // factor theorem a value (first root)
break;
}
}
return roots; }
}
Заранее большое спасибо за помощь, у меня есть потратил 5 дней, пытаясь это исправить, но я не понимаю, что делать, чтобы это исправить. (Я даже пытался поставить "[]" рядом с каждым двойным, но ничего)
Спасибо, Алехандро