Comparer les tarifs d’expédition de colis est un projet Java pratique pour les personnes qui souhaitent utiliser les interfaces et le polymorphisme au service d’une décision utile. Vous construirez un programme de terminal qui calcule des offres pour des colis synthétiques, distingue l’éligibilité du prix et conserve toutes les options les moins chères dans un fichier complet.
Le cours associe deux laboratoires guidés et un défi. Vous implémenterez d’abord des tarifs fixes et par tranches derrière une interface commune. Vous comparerez ensuite les objets de règles, ajouterez une autre règle paramétrée sans réécrire le comparateur et enregistrerez la sortie réelle dans work/quotes.tsv. Le défi utilise d’autres colis et tarifs avec les mêmes mécanismes. Chaque laboratoire fournit indépendamment son propre code de départ et ses données.
Ce que vous apprendrez
À la fin du cours, vous saurez :
- implémenter des règles d’expédition interchangeables avec une interface Java et
implements; - séparer l’éligibilité du prix en centimes entiers, y compris les offres valides à zéro centime ;
- calculer les prix en grammes et centimes entiers, en arrondissant vers le haut chaque tranche de poids entamée ;
- conserver toutes les règles ex æquo au prix minimum et distinguer une absence valide d’offres d’un poids invalide ;
- ajouter une instance paramétrée d’une règle existante sans modifier le déroulement de la comparaison ;
- préserver les identifiants des colis et les entrées d’origine, puis enregistrer toutes les offres et les choix retenus pour chaque colis.
À qui s’adresse ce cours
Ce cours s’adresse aux personnes apprenant Java qui souhaitent pratiquer les classes et le polymorphisme dans une petite application de terminal complète.
Prérequis : Classes, constructeurs, méthodes, listes, polymorphisme de base en Java et navigation élémentaire dans le terminal. Les laboratoires guidés présentent interface, implements, les résultats de devis explicites et le calcul requis par tranches entières.
Environnement d’apprentissage : LabEx fournit un WebIDE dans le navigateur avec un terminal intégré, un compilateur Java, du code de départ et des données synthétiques de colis et de tarifs. Aucune installation locale de Java ou d’outil de compilation n’est nécessaire. Les commandes, les libellés et les sorties de l’application restent en anglais.
Questions fréquentes
S’agit-il des prix actuels de vrais transporteurs ?
Non. Tous les tarifs sont des données pédagogiques synthétiques. Le programme effectue de véritables calculs Java et produit un vrai fichier selon les règles fournies ; il ne contacte aucun service d’expédition.
Dois-je écrire toute l’application à partir de zéro ?
Non. Le lanceur et les lecteurs d’entrée sont préparés. Vous complétez l’éligibilité, les tarifs fixes et par tranches, ainsi que la comparaison par interface. Un colis valide sans règle éligible constitue un résultat normal ; un poids invalide entraîne le rejet du lot avant toute sortie de devis.
Comment le défi prolonge-t-il les laboratoires guidés ?
Il modifie les identités des colis, leurs poids et les paramètres tarifaires, avec des ex æquo et un colis sans offre. Vous combinez les mêmes règles pour livrer des devis complets tout en préservant les données d’origine. Les environnements sont indépendants et ne nécessitent aucun fichier d’un laboratoire précédent.


