Ejercicio 12. Distancia entre dos puntos.

Escribe un programa que solicite al usuario dos pares de números: (x1, y1) y (x2, y2), que representan dos puntos en el plano. Calcula la distancia entre ambos.

Para este ejercicio vamos a trabajar con pares de números compuestos por números enteros (int), que representarán la posición dos puntos representados en el plano tal y como ilustramos en la siguiente imagen.

¿Cómo calculamos la distancia entre dos puntos? Este cálculo está basado en el teorema de Pitágoras, ya que como vemos, la distancia la podríamos interpretar como la hipotenusa entre los dos catetos que formaría su representación en la gráfica.

Estos catetos se calcularían con el valor absoluto de (x2-x1) y (y2-y1) y el cálculo de la hipotenusa, al igual que en el ejercicio que hicimos anteriormente, sería la raíz cuadrada de la suma de los catetos al cuadrado.

Como hemos dicho, en este programa vamos a contar con que los números que introducimos serán enteros, pero hemos de tener en cuenta, que el resultado, la distancia, debe ser double al permitir decimales.

NOTA: si la variable distancia la declaras como int, cuando apliquemos las funciones matemáticas para elevar al cuadrado y posteriormente la raíz cuadrada, esto no dará un error, ya que, aunque trabajemos con enteros, cuando usamos las funciones, directamente ellas “castean” los valores a double y en este caso habría discrepancia de tipo devuelto por la función y el de la variable donde debe ser almacenada.

package ejerciciosSecuenciales;

import java.util.Scanner;

/**
12 Ejercicios secuenciales en Java

Programa:
Pide al usuario dos pares de números x1,y2 y x2,y2, que representen dos 
puntos en el plano. Calcula y muestra la distancia entre ellos.

@author: manolohidalgo_
@date: 01-11-19
*/

// Inicio del programa y declaración de variables:

public class Ejercicio12DistranciaEntrePuntos {
  public static void main(String[] args) {
    Scanner scanner = new Scanner (System.in);
    int x1;
    int x2;
    int y1;
    int y2;
    double distancia;

// Solicitud de datos al usuario
    System.out.println("Este programa calcula la distancia entre dos puntos dados.");
    System.out.print("Introduce el valor X del primer punto: ");
    x1 = scanner.nextInt();
    System.out.print("Introduce el valor Y del primer punto: ");
    y1 = scanner.nextInt();
    System.out.print ("Introduce el valor X del segundo punto: ");
    x2 = scanner.nextInt();
    System.out.print ("Introduce el valor Y del segundo punto: ");
    y2 = scanner.nextInt();
    
// Realizamos Cálculos 

    distancia = Math.sqrt (Math.pow ((x2-x1),2) + Math.pow ((y2-y1),2));

// Mostramos en pantalla
    System.out.println("La distancia entre ambos puntos es " +distancia);
    
  }
}

Puedes acceder a este ejercicio en GitHub en este enlace

Si tienes alguna duda al respecto, alguna sugerencia o algo que no te haya quedado claro, no tienes más que escribirme en los comentarios, estoy aquí para ayudarte y aprender, ¡Nos leemos!