题目
求一元二次方程的根。输入一元二次方程的三个系数,数与数之间用空格分隔。输出结果。
代码实现
import java.util.Scanner;
public class Equation {
static double a;
static double b;
static double c;
static double num;
//根据公式b^2-4ac判断根的数量
static double getRootNum() {
num=(b*b)-(4*a*c);
if(num>0) {
//大于0时,有两个不相等的根
System.out.println("此函数的解为:");
System.out.println("x1="+getRoot1());//调用函数求解
System.out.println("x2="+getRoot2());
}
else
{
if(num==0)
{
//等于0时,有且只有一个根
System.out.println("此函数有且只有一个解:");
System.out.println("x="+getRoot1());
}
else
{
//小于0时无解
System.out.println("此函数无解");
}
}
return 0;
}
//计算函数的根
static double getRoot1() {
Double x;
x=((0-b)+Math.sqrt(num))/(2*a);
return x;//返回double值
}
static double getRoot2() {
Double x;
x=((0-b)-Math.sqrt(num))/(2*a);
return x;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc=new Scanner(System.in);
System.out.println("请输入三个系数,用空格隔开:");
//输入数据a b c
a=sc.nextDouble();
b=sc.nextDouble();
c=sc.nextDouble();
System.out.println("经运算,求得结果为:");
//调用函数求解
getRootNum();
return;
}
}