问题
通过键盘输入系数a,b,c,求一元二次方程的实根,要求判断有无实根
训练提示
参考答案
代码语言:javascript复制public class help {
public static void main(String[] args) {
// 通过键盘输入系数a,b,c
// 定义个扫描器
Scanner sc = new Scanner(System.in);
// 提示下用户
System.out.println("请您输入a,b,c:");
// 接收用户输入的三个系数
double a = sc.nextDouble();
double b = sc.nextDouble();
double c = sc.nextDouble();
// 判断用户输入的a是否等于0
if (a != 0) {
// 求一元二次方程的实根
// 判别式判断是两个实根,一个实根还是无实根
// ((Math.pow(b, 2)) - (4 * a * c))
// b * b - 4 * a * c
double temp = ((Math.pow(b, 2)) - (4 * a * c));
// double temp = (b * b) - (4 * a * c);
if (temp > 0) {
// 有两个实数根
double x1 = ((-b) Math.sqrt(temp)) / (2 * a);
double x2 = ((-b) - Math.sqrt(temp)) / (2 * a);
System.out.println(x1);
System.out.println(x2);
} else if (temp == 0) {
// 有一个实数根
double x1 = ((-b) Math.sqrt(temp)) / (2 * a);
System.out.println(x1);
} else {
// 没有实数根
System.out.println("没有实数根");
}
} else {
System.out.println("a不能等于0");
}
}
}