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