gpt4 book ai didi

java - 如何将 double[] 转换为 double 作为我的返回值? (不兼容类型错误)

转载 作者:行者123 更新时间:2023-12-02 03:01:23 24 4
gpt4 key购买 nike

很抱歉请求的帮助可能是基本的;然而,我尝试了谷歌和 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 天尝试修复它,但我不知道该怎么做才能修复它。 (我什至尝试在每个 double 旁边放置“[]”,但什么也没有)

谢谢你, 亚历杭德罗

最佳答案

您只需要使用“double[]”而不是“double”,因为您想要返回一个数组而不是单个值。所以,你应该写这样的东西:

双[] R(双a、双pa、双b、双pb、双c、双pc、双d、双rp4){ ....}

我提到你试图错误地访问数组中的值,在 Java 数组中索引从零开始,因此要访问数组中的第一个值,你必须编写 array[0] 而不是 array[1]。

关于java - 如何将 double[] 转换为 double 作为我的返回值? (不兼容类型错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61394056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com