Tair Galili:
Tengo una clase llamada Line
y 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());
}
}