English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai a trovare tutte le radici dell'equazione quadratica e a stamparle utilizzando format() in Java.
La forma standard dell'equazione quadratica è:
ax^2 + bx + c = 0, dove a, b e c sono numeri reali, a ≠ 0
Questo b2-4ac è chiamato il determinante dell'equazione quadratica. Il determinante spiega le proprietà delle radici.
Se il determinante è maggiore di 0, le radici sono reali e diverse.
Se il determinante è uguale a 0, le radici sono reali e uguali.
Se il determinante è minore di 0, le radici sono complesse e diverse.
public class Quadratic { public static void main(String[] args) { double a = 2.3, b = 4, c = 5.6; double radice1, radice2; double determinante = b * b - 4 * a * c; // Condizione delle radici reali diverse if(determinante > 0) { radice1 = (-b + Math.sqrt(determinante)) / (2 * a); radice2 = (-b - Math.sqrt(determinante)) / (2 * a); System.out.format("radice1 = %.2f e radice2 = %.2f", radice1, radice2); } // Condizione della radice reale uguale else if(determinante == 0) { radice1 = radice2 = -b / (2 * a); System.out.format("radice1 = radice2 = %.2f;", radice1); } // Se la radice non è reale else { double reale = -b / (2 * a); double immaginario = Math.sqrt(-determinante) / (2 * a); System.out.format("root1 = %.2f+%.2fi e root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart); } } }
Quando si esegue il programma, l'output è:
root1 = -0.87+1.30i e root2 = -0.87-1.30i
Nell'esempio di seguito, i coefficienti a, b e c sono impostati rispettivamente su 2.3, 4 e 5.6. Quindi, il determinante è calcolato come b2 - 4ac.
Calcolare le radici in base al valore del determinante, come nell'equazione sopra. Attenzione, abbiamo già utilizzato la funzione della libreriaMath.sqrt()Calcolare la radice quadrata di un numero.
Utilizzare la funzione format() di Java per stampare il radice calcolata (radice reale o radice complessa) sullo schermo. La funzione format() può essere sostituita con printf():
System.out.printf("root1 = root2 = %.2f;", root1);