V tem programu se boste naučili najti vse korenine kvadratne enačbe in jih natisniti z uporabo formata () v Javi.
Če želite razumeti ta primer, morate poznati naslednje programske teme Java:
- Izjava Java, če … drugače
- Java Math sqrt ()
Standardna oblika kvadratne enačbe je:
ax2 + bx + c = 0
Tu so a, b in c realna števila in a ne more biti enak 0.
Koren kvadratka lahko izračunamo po formuli:
x = (-b ± √(b2-4ac)) / (2a)
±
Znak kaže, da bo prišlo do dve korenine:
root1 = (-b + √(b2-4ac)) / (2a) root1 = (-b - √(b2-4ac)) / (2a)
Izraz je znan kot determinanta kvadratne enačbe. Določa naravo korenin. To je,b2-4ac
- če je determinanta> 0 , so korenine resnične in različne
- če je determinanta == 0 , so korenine realne in enake
- če je determinanta <0 , so korenine kompleksno kompleksne in različne
Primer: Java program za iskanje korenin kvadratne enačbe
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); ) ) )
Izhod
root1 = -0.87 + 1.30i in root2 = -0.87-1.30i
V zgornjem programu so koeficienti a, b in c nastavljeni na 2,3, 4 oziroma 5,6. Nato determinant
se izračuna kot .b2
- 4ac
Na podlagi vrednosti determinante se izračunajo korenine, kot je navedeno v zgornji formuli. Upoštevajte, da smo Math.sqrt()
za izračun kvadratnega korena števila uporabili funkcijo knjižnice .
format()
Metodo smo uporabili za tiskanje izračunanih korenin.
format()
Funkcija se lahko nadomesti tudi printf()
kot:
System.out.printf("root1 = root2 = %.2f;", root1);