JAVA方程问题!

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:54:02
请问以下程序哪里出问题了!编译提示sqrt()方法出错!

/*
定义一个方程类,以求方程的两个实数根。请将测试主类和方程类定义在不同的包中。
*/

import java.lang.Math;
class Fangcheng
{
private double a;
private double b;
private double c;
public Fangcheng(double a, double b, double c)
{
this.a = a;
this.b = b;
this.c = c;
}
public double getDelta()
{
return (b * b) - (4 * a * c);
}
public double[] getX()
{
double[] d = new double[2];
d[0] = ((-b) + sqrt(getDelta())) / (2 * a);
d[1] = ((-b) - sqrt(getDelta())) / (2 * a);
}
}

public class TextFangcheng
{
public static void main(String [] args)
{
Fangcheng fc = new Fangcheng(1,5,4);
if(fc.getDelta() == 0 || fc.getDelta() > 0)
{
double d[] = new double[2];
d = fc.getX();
System.out.println("x1 = " + d[0] +",x2 = " + d[1]);
}
else

你在sqrt()前面加Math就没问题了。
因为你导入import java.lang.Math;
仅仅是导入这个类而已,只能代表Math这个类在此类中直接可用,
但是并不代表它的方法可用。

我还有一个很在意的问题,就是你的getX() 方法有返回值,
但是你没有return语句,所以你是不是要加一句return d比较好呢?

sqrt(getDelta()))这个方法哪里的?没看到定义呀。。