如何在Java中找到斜率的X截距?

时间:2017-09-18 00:44:28

标签: java math

我从未使用过Java,我的一位编程朋友给了我这个尝试并习惯了Java。

他给了我test.java文件以及一些用于创建行类的指针。但是,我仍然不知道如何编写斜率或y_int的代码。我假设对于vert我继续使用布尔和if / else语句,但我有点迷失。

这是Test.java:

public class Test {
    public static void main(String [] args ) {

        Line line[] = {new Line(5,4),
            new Line(0,2),
            new Line(5)};

        int i = 1;
        for(Line li : line){
            System.out.println("The x-intercept of line "+i+" is "+
                li.getX_int());
            i++;
        }
    }
}

这是Line.java类:

public class Line {

    public double slope;
    public double y_int;
    public double x_int;
    public boolean vert;

    public Line(double slope, double y_int){
        this.slope = slope;
        this.y_int = y_int;
        vert = false;
    }   

    public Line(double x_int) {
        slope = Double.NaN;
        y_int = Double.NaN;
        vert = true;
        this.x_int = x_int;
    }

    public double getSlope() {
        return slope;
    }

    public double getY_int() {
        return y_int;
    }

    public boolean isVert() {
        return vert;
    }
}

1 个答案:

答案 0 :(得分:2)

考虑事物的根定义。

你的等式是:

y(x) = m*x + b

其中

m = slope
b = y-intercept

通过将y设置为零并求解x:

来计算x截距
x-intercept = -b/m

这会让你失望m = 0,因为你不能除以零。在那种情况下,没有x-intercept。这是一条平行于x轴的线。

同样,对于平行于y轴的垂直线, 没有y轴截距。

你打算为这些极端情况设置拦截?