Manejo de entradas no válidas en Java

Tair Galili:

Tengo una clase llamada Liney quiero añadir un método que calcula la tangente de la línea. Para calcular la tangente necesito dos puntos: (x1, y1) y (x2, y2) por lo que su tangente será (y2 - y1) / (x2 - x1). Supongamos que tengo dos puntos y quiero calcular la tangente, hay cierta situación que la tangente no está definida (x2 = x1), la línea es paralela a la del eje - y). Quiero ser capaz de utilizar esta función y cuando se pone una línea que no tiene tangente, el programa no se bloqueará y simplemente mostrar un error. ¿Cómo lo hago?

Esta es la función (que está en una clase llamada 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());
}
Abra:

Es esto aceptable?

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());
    }
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=365096&siteId=1
Recomendado
Clasificación