Comparar cotizaciones de envío de paquetes es un proyecto práctico de Java para quienes desean utilizar interfaces y polimorfismo en una decisión útil. Construirás un programa de terminal que cotiza paquetes sintéticos, separa la elegibilidad del precio y conserva todas las opciones más económicas en un archivo completo de cotizaciones.
El curso combina dos laboratorios guiados y un desafío. Primero implementarás precios fijos y por tramos mediante una interfaz común. Después compararás objetos de reglas, registrarás otra regla configurada sin reescribir el comparador y guardarás la salida real en work/quotes.tsv. El desafío utiliza otros paquetes y tarifas con los mismos mecanismos. Cada laboratorio proporciona de forma independiente su propio código base y sus datos.
Lo que aprenderás
Al completar el curso, podrás:
- implementar reglas de envío intercambiables con una interfaz Java e
implements; - separar la elegibilidad del precio en céntimos enteros, incluidas las ofertas válidas de cero céntimos;
- calcular precios con gramos y céntimos enteros, redondeando hacia arriba cada tramo de peso iniciado;
- conservar todas las reglas empatadas en el precio mínimo y distinguir la ausencia válida de ofertas de un peso inválido;
- añadir una instancia parametrizada de una regla existente sin cambiar el flujo de comparación;
- conservar los identificadores y las entradas originales y guardar todas las cotizaciones y opciones ganadoras de cada paquete.
A quién va dirigido este curso
Este curso está pensado para estudiantes de Java que desean practicar clases y polimorfismo en una aplicación de terminal pequeña y completa.
Requisitos previos: Clases, constructores, métodos, listas, polimorfismo básico de Java y navegación básica en la terminal. Los laboratorios guiados presentan interface, implements, resultados de cotización explícitos y el cálculo necesario por tramos enteros.
Entorno de aprendizaje: LabEx proporciona un WebIDE en el navegador con terminal integrada, compilador Java, código inicial y registros sintéticos de paquetes y tarifas. No necesitas instalar Java ni herramientas de compilación localmente. Los comandos, las etiquetas y la salida de la aplicación permanecen en inglés.
Preguntas frecuentes
¿Son precios actuales de transportistas reales?
No. Todas las tarifas son datos didácticos sintéticos. El programa realiza cálculos reales en Java y genera un archivo real con las reglas proporcionadas; no contacta con un servicio de envíos.
¿Escribo toda la aplicación desde cero?
No. El lanzador y los lectores de entrada están preparados. Completarás la elegibilidad, los precios fijos y por tramos y la comparación basada en interfaces. Un paquete válido sin reglas elegibles es un resultado normal; un peso inválido rechaza el lote antes de producir cotizaciones.
¿Cómo amplía el desafío los laboratorios guiados?
Cambia las identidades, los pesos y los parámetros de tarifas, con empates y un paquete sin ofertas. Combinarás las mismas reglas aprendidas para entregar cotizaciones completas conservando los registros originales. Los entornos son independientes y no necesitan archivos de un laboratorio anterior.


