学习了一段时间的java 老师发布了一道数学题如何通过java实现一元二次方程。
在写代码之前我们要有一个大概的思维,就是这个程序应该怎么写,相信大家都会解答,那么直入主题。
一元二次方程的结果就那么几种,一个解 2个解 以及无解
△的计算就是b²-4ac
而一元二次方程的解答就是-b±根号△/2a
package cn.incast.chapter01;
import java.util.Scanner;
public class EquatIon {
public static void main(String[] args) {
double x1;
double x2;
int a;
int b;
int c;
System.out.println("求一元二次方程ax²+bx+c=0");
Scanner sc = new Scanner(System.in);
System.out.println("请输入a的值");
a = sc.nextInt();
System.out.println("请输入b的值");
b = sc.nextInt();
System.out.println("请输入c的值");
c = sc.nextInt();
double delta = b * b - 4 * a * c;
x1 = (-b + Math.sqrt(delta)) / 2 * a;
x2 = (-b - Math.sqrt(delta)) / 2 * a;
//判断delta的值
if (delta == 0) {
// △等于0时,方程只有一个解
System.out.println("此方程有两个相同的解");
System.out.println("x1=x2=" + x1);
}
else if (delta > 0) {
// △>0时,方程有两个解
// x1=(-b+sqrt(b*b-4*a*c))/2a
// x2=(-b-sqrt(b*b-4*a*c))/2a
System.out.println("此方程有两个解");
System.out.println("x1=" + x1);
System.out.println("x2=" + x2);
} else
System.out.println("此方程无解");
}
}