首页 > 解决方案 > 将我的程序中的值更改为数组

问题描述

这是学校的问题,我需要写一个方法来找到真正的根源。我的程序目前可以工作,但现在我需要将两个根作为数组返回,并对其进行概括,因此当 a 等于 0 时,该方法应该返回一个包含一个元素的数组,包含 -c/b,如果 a=b=c= 0 我的方法应该抛出异常。

public class Quadratic {

    public static void main(String args[]) {
        Quadratic obj = new Quadratic();
        int a = 1, b = -6, c = 12;
        obj.findRoots(a, b, c);
    }

    public void findRoots(int a, int b, int c) {
        // If a is 0, then equation is not
        // quadratic, but linear

        if (a == 0) {
            throw new IllegalArgumentException("a = 0");
        }

        int d = b * b - 4 * a * c;
        double sqrt_val = sqrt(abs(d));

        if (d > 0) {
            System.out.println("Roots are real and different \n");

            System.out.println((double) (-b + sqrt_val) / (2 * a) + "\n" + (double) (-b - sqrt_val) / (2 * a));
        } else {
            return;
        }



    }
}

我可以简单地将变量转换为数组吗?我们刚刚开始了一个数组章节,我必须知道如何去做。

标签: javaarraysquadratic

解决方案


只需将结果存储到数组中。

double root[2]={0.0,0.0};
root[0]=(-b + sqrt_val) / (2 * a);
root[1]=(-b - sqrt_val) / (2 * a);

那就退货吧!

public double[] findRoots(int a, int b, int c){

...

return root;
}

推荐阅读