Изменение значений в моей программе на массивы - PullRequest
0 голосов
/ 26 февраля 2019

Это вопрос к школе, мне нужно написать метод, чтобы найти настоящие корни.Моя программа в настоящее время работает, но теперь мне нужно вернуть два корня в виде массивов и обобщить его так, чтобы, когда 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;
        }



    }
}

Можно ли просто преобразовать переменные в массивы?Мы только начали с главы о массиве, и я должен понять, как это сделать.

1 Ответ

0 голосов
/ 26 февраля 2019

просто сохраните результат в массив.

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...