Итак, я написал программу Java, которая находит решения квадратного c уравнения, и моя проблема в том, что я не могу написать правильный код, чтобы найти «мнимые числа», когда он распечатывает, я просто получить "NaN". Какие есть решения?
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Enter the value for a: ");
double a = scan.nextDouble();
System.out.print("Enter the value for b: ");
double b = scan.nextDouble();
System.out.print("Enter the value for c: ");
double c = scan.nextDouble();
double result = b * b - 4.0 * a * c;
if(result > 0.0){
//to find two real solutions
double x1 = (-b + Math.pow(result, 0.5)) / (2.0 * a);
double x2 = (-b - Math.pow(result, 0.5)) / (2.0 * a);
System.out.println("There are two real solutions.");
System.out.println("x1 = " + x1);
System.out.println("x2 = " + x2);
//to find one real solution
} else if(result == 0.0){
double x1 = (-b / (2.0 * a));
System.out.println("There is one real solution");
System.out.println("x = " + x1);
//to find the imaginary numbers
} else if(result < 0.0){
double x1 = (-b + Math.pow(result, 0.5)) / (2.0 * a);
double x2 = (-b - Math.pow(result, 0.5)) / (2.0 * a);
System.out.println("There are two imaginary solutions.");
System.out.println("x1 = " + x1 + " + " + x2);
System.out.println("x2 = " + x1 + " - " + x2);
}
}
}