package bookTest3;
import java.util.Arrays;
import java.util.Scanner;
public class FivePointNine {
/*
编写程序,使用下面的方法编写一个解二次方程式的方法:
public static int solveQuadratic(double 【】 eqn ,double 【】 roots)
二次方程式ax平方 +bX+C = 0的系数都传给eqn ,然后将两个非复数的根存在roots中,方法返回根的个数
*/
// public static int solveQuadratic(double[] eqn ,double[] roots){
//
// }
public static int solveQuadratic(double[] eqn,double[] roots){
double discriminant;
// 二次方程式ax平方 +bX+C = 0的系数都传给eqn a=eqn[0] b=eqn[1] c =eqn[2]
discriminant = eqn[1] * eqn[1] - 4 * eqn[0] * eqn[2];
//如果判别式小于0的时候 返回0个根
if(discriminant < 0){
return 0;
}else if(discriminant == 0){
//如果判别式等于1的时候 返回1个根
roots[0] = -eqn[1] / (2 * eqn[0]);
roots[1] = -eqn[1] / (2 * eqn[0]);
return 1;
}else{
//如果判别式大于0的时候返回2个根
roots[0] = (-eqn[1] + Math.sqrt(discriminant))/ (2 * eqn[0]);
roots[1] = (-eqn[1] - Math.sqrt(discriminant))/ (2 * eqn[0]);
return 2;
}
}
public static void main(String[] args) {
double[] arr = {1,4,3};
double[] arr1 = new double[arr.length];
System.out.println(solveQuadratic(arr,arr1));
}
}
2结果图
3.这题借鉴了源码 看到这题比较懵 不知道咋写 看完 才明白 哈哈