
Dos vehículos viajan a diferentes velocidades y están distanciados por una distancia “d”. El que está detrás viaja a una velocidad mayor. Se pide hacer un algoritmo para ingresar la distancia entre los dos vehículos (km) y sus respectivas velocidades (km/h) y con esto determinar y mostrar que tiempo (minutos) alcanzará el vehículo más rápido al otro.
Una vez más nos encontramos donde el principal problema que afrontamos a la hora de programar es comprender que se nos pide, y llegar a la conclusión sobre los cálculos que hemos de realizar para obtener el resultado que nos solicitan.

Arriba he intentado esquematizar las operaciones que hemos de tener en cuenta, y explicar el por qué.
En este caso, necesitamos saber cuál es la distancia que hay de diferencia entre ambos coches, y la velocidad que lleva cada uno para calcular su diferencia.
Ambos coches seguirán avanzando en su camino, pero a nosotros sólo nos interesa saber cuando reducirán la distancia que los separan en un inicio. Por eso nos quedamos sólo con la diferencia entre las velocidades, y la distancia inicial.
El tiempo que tardarán en reducir esa distancia es t = d / velocidad
Esta fórmula, al estar utilizando la velocidad en Km/h nos dará el tiempo en horas, por lo que es necesario para mostrar el resultado final convertirla a minutos multiplicando por 60.
package ejerciciosSecuenciales; import java.util.Scanner; /** 16 Ejercicios secuenciales en Java Programa: Dos vehículos viajan a diferentes velocidades (v1 y v2) y están distanciados por una distancia d. El que está detrás viaja a una velocidad mayor. Se pide hacer un algoritmo para ingresar la distancia entre los dos vehículos (km) y sus respectivas velocidades (km/h) y con esto determinar y mostrar en que tiempo (minutos) alcanzará el vehículo más rápido al otro. @author: manolohidago_ @date: 02-11-19 */ // Inicio del programa y declaración de variables: public class Ejercicio16LugarEncuentroDosVehiculos { public static void main(String[] args) { Scanner scanner = new Scanner (System.in); double v1; double v2; double distancia; double diferenciaVelocidad; double tiempo; // Solicitud de datos al usuario System.out.println("Este programa calcula el tiempo que tardan en encontrarse dos vehículos que circulan a distinta velocidad y parten desde una distancia inicial."); System.out.print("Introduce la distancia a la que se encuentran situados ambos vehículos: "); distancia = scanner.nextDouble(); System.out.print("Velocidad en Km/h del vehículo 1 (más lento): "); v1 = scanner.nextDouble(); System.out.print("Velocidad en Km/h del vehículo 2 (más rápido): "); v2 = scanner.nextDouble(); // Realizamos Cálculos diferenciaVelocidad = v2 - v1; tiempo = distancia / (diferenciaVelocidad); // resultado de tiempo en horas. // convertimos tiempo a minutos tiempo = tiempo * 60; // Mostramos en pantalla System.out.println("Ambos vehículos coincidirán una vez transcurridos " + (int)tiempo + " minutos."); } }
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!