一元二次方程求解
程序员文章站
2022-05-09 13:47:24
...
分析
三种情况
1. b2-4ac = 0
2. b2-4ac > 0
3. b2-4ac < 0
另外说明:b^2-4ac根号下,b2-4ac为负数,解不出来实数根,中学阶段称为“无解”, 其实那是虚数根。
import java.util.Scanner; // Scanner这个工具类,java利用Scanner获取键盘输入
public class equation {
// 一元二次:
public static void main(String[] args) {
System.out.println("输入一元二次的对应系数a,b,c:");
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
int c=sc.nextInt();
double x1,x2;
int deta=b*b-4*a*c;
if(deta==0){
x1=x2=(-b)/(2*a);
System.out.println("x1="+x1);
System.out.println("x2="+x2);
} else{
double t=Math.sqrt(Math.abs(deta))/(2*a);
if(deta>0){
x1=(-b)/(2*a)+t;
x2=(-b)/(2*a)-t;
System.out.println("x1="+x1);
System.out.println("x2="+x2);
} else{
x1=(-b)/(2*a);
x2=(-b)/(2*a);
System.out.println("x1="+x1+"+"+t+"i");
System.out.println("x2="+x2+"-"+t+"i");
}
}
}
}