Program Java do znajdowania wszystkich pierwiastków równania kwadratowego

W tym programie nauczysz się znajdować wszystkie pierwiastki równania kwadratowego i drukować je za pomocą funkcji format () w Javie.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Instrukcja Java if… else
  • Java Math sqrt ()

Standardowa postać równania kwadratowego to:

 ax2 + bx + c = 0

Tutaj a, b i c są liczbami rzeczywistymi, a a nie może być równe 0.

Pierwiastek funkcji kwadratowej możemy obliczyć za pomocą wzoru:

 x = (-b ± √(b2-4ac)) / (2a)

±Znak oznacza, że będą dwa korzenie:

 root1 = (-b + √(b2-4ac)) / (2a) root1 = (-b - √(b2-4ac)) / (2a)

Termin jest znany jako wyznacznik równania kwadratowego. Określa charakter korzeni. To jest,b2-4ac

  • jeśli wyznacznik> 0 , pierwiastki są rzeczywiste i różne
  • jeśli wyznacznik == 0 , pierwiastki są rzeczywiste i równe
  • jeśli wyznacznik <0 , pierwiastki są złożone i różne

Przykład: program w języku Java do wyszukiwania pierwiastków równania kwadratowego

 public class Main ( public static void main(String() args) ( // value a, b, and c double a = 2.3, b = 4, c = 5.6; double root1, root2; // calculate the determinant (b2 - 4ac) double determinant = b * b - 4 * a * c; // check if determinant is greater than 0 if (determinant> 0) ( // two real and distinct roots root1 = (-b + Math.sqrt(determinant)) / (2 * a); root2 = (-b - Math.sqrt(determinant)) / (2 * a); System.out.format("root1 = %.2f and root2 = %.2f", root1, root2); ) // check if determinant is equal to 0 else if (determinant == 0) ( // two real and equal roots // determinant is equal to 0 // so -b + 0 == -b root1 = root2 = -b / (2 * a); System.out.format("root1 = root2 = %.2f;", root1); ) // if determinant is less than zero else ( // roots are complex number and distinct double real = -b / (2 * a); double imaginary = Math.sqrt(-determinant) / (2 * a); System.out.format("root1 = %.2f+%.2fi", real, imaginary); System.out.format("root2 = %.2f-%.2fi", real, imaginary); ) ) )

Wynik

 root1 = -0,87 + 1,30i i root2 = -0,87-1,30i

W powyższym programie współczynniki a, b i c są ustawione odpowiednio na 2,3, 4 i 5,6. Następnie determinantoblicza się jako .b2 - 4ac

Na podstawie wartości wyznacznika pierwiastki oblicza się zgodnie z powyższym wzorem. Zauważ, że użyliśmy funkcji bibliotecznej Math.sqrt()do obliczenia pierwiastka kwadratowego z liczby.

Użyliśmy tej format()metody do wydrukowania obliczonych pierwiastków.

format()Funkcji można również zastąpić printf()jako:

 System.out.printf("root1 = root2 = %.2f;", root1);

Interesujące artykuły...