JAVA编写一个一元二次方程的求解程序,实现功能:当判别式大于等于0时,输出两个
1个回答
关注
展开全部
以下是一个Java编写的一元二次方程求解程序示例,可以实现当判别式大于等于0时输出两个实数解,判别式小于等于0时输出两个虚数解的功能。import java.util.Scanner;public class QuadraticEquation { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter a, b, c: "); double a = input.nextDouble(); double b = input.nextDouble(); double c = input.nextDouble(); double discriminant = b * b - 4 * a * c; if (discriminant >= 0) { double root1 = (-b + Math.sqrt(discriminant)) / (2 * a); double root2 = (-b - Math.sqrt(discriminant)) / (2 * a);
咨询记录 · 回答于2023-05-04
JAVA编写一个一元二次方程的求解程序,实现功能:当判别式大于等于0时,输出两个
JAVA编写一个一元二次方程的求解程序,实现功能:当判别式大于等于0时,输出两个实数根,当判别式小于等于0时,输出两个虚数根
这题
以下是一个Java编写的一元二次方程求解程序示例,可以实现当判别式大于等于0时输出两个实数解,判别式小于等于0时输出两个虚数解的功能。import java.util.Scanner;public class QuadraticEquation { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter a, b, c: "); double a = input.nextDouble(); double b = input.nextDouble(); double c = input.nextDouble(); double discriminant = b * b - 4 * a * c; if (discriminant >= 0) { double root1 = (-b + Math.sqrt(discriminant)) / (2 * a); double root2 = (-b - Math.sqrt(discriminant)) / (2 * a);
System.out.println("The equation has two real roots " + root1 + " and " + root2); } else { double realPart = -b / (2 * a); double imaginaryPart = Math.sqrt(-discriminant) / (2 * a); System.out.println("The equation has two imaginary roots " + realPart + " + " + imaginaryPart + "i and " + realPart + " - " + imaginaryPart + "i"); } }}程序中通过Scanner类获取控制台输入的三个系数a、b、c,然后根据一元二次方程的判别式计算出方程的解。当判别式大于等于0时,输出两个实数解;判别式小于0时,计算出两个虚数解,并输出结果。其中,虚数解由实数部分和虚数部分组成,虚数部分为Math.sqrt(-discriminant) / (2 * a),i为虚数单位。