English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой программе вы узнаете, как найти все корни квадратного уравнения, и использовать метод format() в Java для их печати.
Стандартная форма квадратного уравнения:
ax^2 + bx + c = 0, где a, b и c являются действительными числами, a ≠ 0
Этот b2-4ac называется Determinant квадратного уравнения. Determinant объясняет свойства корней.
Если determinant больше 0, то корни являются действительными и различными.
Если determinant равен 0, то корни являются действительными и равными.
Если determinant меньше 0, то корни являются комплексными и различными.
public class Quadratic { public static void main(String[] args) { double a = 2.3, b = 4, c = 5.6; double root1, root2; double determinant = b * b - 4 * a * c; // условие наличия действительных различных корней if(determinant > 0) { root1 = (-b + Math.sqrt(determinant)) / (2 * a); root2 = (-b - Math.sqrt(determinant)) / (2 * a); System.out.format("root1 = %.2f и root2 = %.2f", root1, root2); } // условие наличия действительных равных корней else if(determinant == 0) { root1 = root2 = -b / (2 * a); System.out.format("root1 = root2 = %.2f;", root1); } // если корень не является действительным else { double realPart = -b / (2 * a); double imaginaryPart = Math.sqrt(-determinant) / (2 * a); System.out.format("root1 = %.2f+%.2fi и root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart); } } }
При запуске программы выводится:
root1 = -0.87+1.30i и root2 = -0.87-1.30i
В указанном выше程序е коэффициенты a, b и c установлены соответственно 2.3, 4 и 5.6. Затем determinant вычисляется как b2 - 4ac.
На основе значения déterminant, вычисляем корни по следующей формуле. Обратите внимание, что мы уже используем библиотечную функциюMath.sqrt()Для вычисления квадратного корня числа.
Использование функции format() в Java для вывода вычисленных корней (реальных или комплексных корней) на экран. Функция format() также может быть заменена на printf():
System.out.printf("root1 = root2 = %.2f;", root1);