跪求计算机JAVA大神用eclipse解一元二次方程,求答案,基础一点,蟹蟹
发布网友
发布时间:2024-10-04 08:56
我来回答
共1个回答
热心网友
时间:2024-10-05 04:48
如下实现:
public class Test
{
public static void main(String[] args) throws Exception
{
// 标准格式: ax^2+bx+c=0
double[] xs=solve(4,4,0);//这里参数即一元二次方程的三个系数a,b,c
if(xs==null)
System.out.println("解数:0");
else
{
System.out.println("解数:"+xs.length);
for(int i=0;i<xs.length;i++)
{
System.out.println("第"+(i+1)+"个解:"+xs[i]);
}
}
}
/**
* 解方程:标准格式ax^2+bx+c=0的解法,非标准格式需要转换
* 返回: 空表示无解,否则返回长度为1或2的解数组
*/
public static double[] solve(double a,double b,double c)
{
double delta=b*b-4*a*c;//b^2-4ac
System.out.println(delta);
if(delta>0)//两个解
{
double[] xs=new double[2];
double v=Math.sqrt(delta);
xs[0]=(-b+v)/(2*a);
xs[1]=(-b-v)/(2*a);
return xs;
}
else if(delta==0D)//只有一个解
{
return new double[]{-b/(2*a)};
}
else//无解
return null;
}
}