Problema de Java: se conocen cuatro puntos, encuentre si las líneas son paralelas y muestre la intersección

Título:
Los dos puntos sobre la primera línea recta son (x1, y1) y (x2, y2), los dos puntos sobre la segunda línea recta son (x3, y3) y (x4, y4), las
dos líneas rectas La intersección se puede resolver mediante el siguiente sistema de ecuaciones lineales:
(y1-y2) x- (x1-x2) y = (y1-y2) x1- (x1-x2) y1
(y3-y4) x- (x3-x4) y = (Y3-y4) x3- (x3-x4) y3
Si la ecuación no tiene solución, las dos líneas rectas son paralelas.
Escriba un programa que solicite al usuario que ingrese estos cuatro puntos y luego muestre su intersección.

代码 如下 :
paquete com;
import java.util.Scanner;
ecuación de clase {
private int x1;
int privado y1;
int privado x2;
int privado y2;
int privado x3;
int privado y3;
int privado x4;
int privado y4;
Ecuación pública (int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
this.x3 = x3;
this.y3 = y3;
this.x4 = x4;
this.y4 = y4;
}

public int getX1() {
    return x1;
}
public int getY1() {
    return y1;
}
public int getX2() {
    return x2;
}
public int getY2() {
    return y2;
}
public int getX3() {
    return x3;
}
public int getY3() {
    return y3;
}
public int getX4() {
    return x4;
}
public int getY4() {
    return y4;
}
public boolean isSolvab1e() {
    int i,j,k,l,m,n,o;
     i=y1-y2;j=x1-x3;
     k=y3-y4;l=x3-x4;
     m=(y1-y2)*x1-(x1-x2)*y1;
     n=(y3-y4)*x3-(x3-x4)*y3;
     o=i*l-j*k;
     if(o!=0){
         return true;
     }
     else{return false;}
}
public int getX(){
    int i,j,k,l,m,n,o;
    i=y1-y2;j=x1-x3;
    k=y3-y4;l=x3-x4;
    m=(y1-y2)*x1-(x1-x2)*y1;
    n=(y3-y4)*x3-(x3-x4)*y3;
    return (m*l-j*n)/(i*l-j*k);
}
public int getY(){
    int i,j,k,l,m,n,o;
    i=y1-y2;j=x1-x3;
    k=y3-y4;l=x3-x4;
    m=(y1-y2)*x1-(x1-x2)*y1;
    n=(y3-y4)*x3-(x3-x4)*y3;
    return (i*n-m*k)/(i*l-j*k);
}

}
prueba de clase pública {
public static void main (String [] args) {
System.out.println ("Ingrese el valor de cuatro puntos:");
Scanner sc = new Scanner (System.in);
int x1 = sc. nextInt ();
int y1 = sc.nextInt ();
int x2 = sc.nextInt ();
int y2 = sc.nextInt ();
int x3 = sc.nextInt ();
int y3 = sc.nextInt ();
int x4 = sc.nextInt ();
int y4 = sc.nextInt ();
Ecuación x = ecuación nueva (x1, y1, x2, y2, x3, y3, x4, y4);
if (x.isSolvab1e () == verdadero ) {
System.out.println ("La intersección de dos líneas rectas es");
System.out.println ("x es" + x.getX ());
System.out.println ("y es" + x.getY ());
} else {
System.out.println ("Línea paralela");
}
}
}
Resultado de la operación:
Inserte la descripción de la imagen aquí

Este artículo es original, indique la fuente.
Si te ayuda, ¡por favor dame un visto bueno!

Publicado 9 artículos originales · ganó 9 · visitado 2164

Supongo que te gusta

Origin blog.csdn.net/grandniu/article/details/105471460
Recomendado
Clasificación