자바에서 유효하지 않은 입력을 처리

테어 Galili 한 :

나는라는 클래스가 Line나는 라인의 탄젠트를 계산하는 방법을 추가 할 수 있습니다. (- Y1 Y2) / (X2 - X1) (X1, Y1)과 (x2, y2) 접선이 될 수 있도록 : 탄젠트를 계산하기 위해 나는 두 지점이 필요합니다. 축) - I 두 지점을 갖고 I는 접선 (X2 = X1)로 정의되어 있지 않은 것이 확실한 상황이있다 탄젠트를 계산한다고 가정 라인은 상기 Y에 평행하다. 나는이 기능을 사용 할 수 있도록하려면 그것은 접선이없는 라인을 얻을 때, 프로그램은 충돌 그냥 오류가 표시되지 않습니다. 내가 어떻게해야합니까?

이 함수 (이 클래스에서 호출입니다 Line) :

double getTangent() {
    // defined only if the line is not perpendicular to the horizontal axis.
    return (this.end.getY() - this.start.getY()) / (this.end.getX() - this.start.getX());
}
아브라 :

이 만족할 만합니까?

double getTangent() {
    if (this.end.getY() == this.start.getY()) {
        return 0;  // line is parallel to x-axis
    }
    else if (this.end.getX() == this.start.getX()) {
        return Double.NaN; // line is parallel to y-axis, i.e. undefined
    }
    else {
        return (this.end.getY() - this.start.getY()) / (this.end.getX() - this.start.getX());
    }
}

추천

출처http://43.154.161.224:23101/article/api/json?id=365086&siteId=1