题目要求:解二次方程
package 二次方程式;
import java.util.Scanner;
public class QE
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入 a b c 的值:");
double a = input.nextDouble();
double b = input.nextDouble();
double c = input.nextDouble();
QuadraticEquation Q1 = new QuadraticEquation(a, b, c);
if (Q1.getDiscriminant() > 0)
{
System.out.println(Q1.getA() + "x^2+" + Q1.getB() + "x+"
+ Q1.getC() + "=0" + "的两个根分别为:" + "r1=" + Q1.getRoot1()
+ " r2=" + Q1.getRoot2());
} else if (Q1.getDiscriminant() == 0)
{
System.out.println(Q1.getA() + "x^2" + "+" + Q1.getB() + "x" + "+"
+ Q1.getC() + "=0" + "只有一个根为:" + Q1.getRoot1());
} else
{
System.out.println("此方程无实根。");
}
}
}
class QuadraticEquation
{
private static double a;
private static double b;
private static double c;
public QuadraticEquation(double x, double y, double z)
{
a = x;
b = y;
c = z;
}
double getA()
{
return a;
}
double getB()
{
return b;
}
double getC()
{
return c;
}
double getDiscriminant()// 判别式
{
return Math.pow(b, 2) - 4 * a * c;
}
double getRoot1()// 第一个根
{
return (-b + Math.abs(getDiscriminant())) / 2 * a;
}
double getRoot2()// 第二个根
{
return (-b - Math.abs(getDiscriminant())) / 2 * a;
}
}