Я пытаюсь создать программу, которая решает уравнения второй степени (ax 2 + bx + c = 0). Он отлично работает, когда я удаляю Math.sqrt(delta)
, но его наличие — очень важная часть процесса, и я не могу понять, почему он не работает.
Когда я запускаю программу, она выдает мне X1 = Nan
X2 = Nan
в конце.
public static void main(String[] args) {
double a, b, c, x1, delta;
Scanner sc = new Scanner(System.in);
System.out.println("Entrez Les Valeurs De a, b et c: ");
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
delta = (b * b) - 4 * ( a * c );
x1 = (-b + Math.sqrt( delta ) )/(2 * a);
System.out.println("X1= " + x1);
}
Если дельта окажется отрицательной, sqrt
вернется NaN
Это означает, что
delta
меньше нуля.