求方程ax2+bx+c=0的实数根。a, b, c由键盘输入, a!=0。若只有一个实数根(b2-4ac=0)则只输出x1,若无实数根(b2-4ac<0)则输出Error。
输入
2.5 7.5 1.0
输出
(注意等号前面后面都有一个空格)
x1 = -0.139853
x2 = -2.860147
程序如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
double a=sc.nextDouble();
double b=sc.nextDouble();
double c=sc.nextDouble();
double det=b*b-4*a*c;
double x1=0.0;
double x2=0.0;
if(det<0) {
System.out.println("Error");
}else {
if(det==0) {
x1=-b/(2*a);
System.out.printf("x1 = %.6f\n",x1);
}else {
x1=(-b+Math.sqrt(det))/(2*a);
x2=(-b-Math.sqrt(det))/(2*a);
System.out.printf("x1 = %.6f\n",x1);
System.out.printf("x2 = %.6f\n",x2);
}
}
}
}