首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将double[]转换为双倍,以获得返回值?(不兼容类型错误)

问如何将double[]转换为双倍,以获得返回值?(不兼容类型错误)
EN

Stack Overflow用户
提问于 2020-04-23 18:05:13
回答 2查看 130关注 0票数 0

我很抱歉请求帮助,这可能是基本的;然而,我尝试了每一个谷歌和youtube的帖子(在我的水平),我似乎无法弄清楚。我试图建立一种方法,将多项式的根返回给3次方。代码单独工作;但是,当我尝试放入一个返回函数时,我会将返回值变成一个数组(因为将有3个根,也就是返回的3个值)。当我这样做时,我会在返回函数旁边得到一个错误,它写着[“不兼容类型: double[]不能转换为double"]

代码语言:javascript
复制
    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天的时间来修复它,但是我不知道该做些什么来修复它。(我甚至试图把"[]“放在每一个双倍的旁边,但什么也没有)

谢谢你,亚历杭德罗

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-23 18:24:31

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

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

我提到过,您试图不正确地访问数组中的值,在Java索引中,从零开始,所以要访问数组中的第一个值,必须编写数组而不是array1。

票数 1
EN

Stack Overflow用户

发布于 2020-04-23 18:22:00

您的方法声明指定了double类型的返回,但是roots是double[] ie类型。一个双倍数组。

方法声明中提到的返回类型与您要返回的内容不匹配。

尝试将您的方法声明更改为-

代码语言:javascript
复制
double[] R(double a, double pa, double b, double pb, double c, double pc, double d, double rp4) {
//Your method code here
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61394056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档