用Java语言编写一个求一元二次方程的求解程序program1。 一元二次方程的系数取-10到10之间的整数。
时间: 2024-09-20 16:06:51 浏览: 77
在Java中,我们可以创建一个简单的程序来求解一元二次方程,通常形式为ax^2 + bx + c = 0。下面是一个示例`Program1`:
```java
import java.util.Scanner;
public class Program1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 提示用户输入方程系数
System.out.println("请输入一元二次方程的系数 a, b, 和 c(a 不为零):");
double a = scanner.nextDouble();
double b = scanner.nextDouble();
double c = scanner.nextDouble();
// 检查a是否为0,防止除以零错误
if (a == 0) {
System.out.println("一元二次方程需要a不为零,已退出程序。");
return;
}
// 计算判别式
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.printf("两个实数根为: %.2f 和 %.2f\n", root1, root2);
} else if (discriminant == 0) {
double root = -b / (2 * a);
System.out.printf("一个实数根为: %.2f\n", root);
} else { // 当判别式小于0时,有两个复数根
double realPart = -b / (2 * a);
double imaginaryPart = Math.sqrt(-discriminant) / (2 * a);
System.out.printf("两个复数根为: %.2f + %.2fi 和 %.2f - %.2fi\n",
realPart, imaginaryPart, realPart, imaginaryPart);
}
scanner.close();
}
}
```
在这个程序中,我们首先获取用户输入的一元二次方程系数,然后计算出判别式。接着判断方程的根是两个实数、一个实数还是两个复数,并分别打印出来。
阅读全文