Comparar cotações de envio de encomendas é um projeto prático de Java para quem deseja usar interfaces e polimorfismo em uma decisão útil. Você criará um programa de terminal que calcula cotações para encomendas sintéticas, separa a elegibilidade do preço e preserva todas as opções mais baratas em um arquivo completo de cotações.
O curso combina dois laboratórios guiados e um desafio. Primeiro, você implementará preços fixos e por faixas por meio de uma interface comum. Depois, comparará objetos de regras, registrará outra regra configurada sem reescrever o comparador e salvará a saída real em work/quotes.tsv. O desafio usa outras encomendas e tarifas com os mesmos mecanismos. Cada laboratório fornece de forma independente seu próprio código inicial e seus dados.
O que você aprenderá
Ao concluir o curso, você poderá:
- implementar regras de envio substituíveis com uma interface Java e
implements; - separar a elegibilidade do preço em centavos inteiros, incluindo ofertas válidas de zero centavos;
- calcular preços com gramas e centavos inteiros, arredondando para cima cada faixa de peso iniciada;
- manter todas as regras empatadas no menor preço e distinguir a ausência válida de ofertas de um peso inválido;
- adicionar uma instância parametrizada de uma regra existente sem alterar o fluxo de comparação;
- preservar IDs das encomendas e entradas originais, salvando todas as cotações e escolhas de menor preço para cada encomenda.
Para quem é este curso
Este curso é indicado para estudantes de Java que desejam praticar classes e polimorfismo em uma aplicação de terminal pequena e completa.
Pré-requisitos: Classes, construtores, métodos, listas, polimorfismo básico de Java e navegação básica no terminal. Os laboratórios guiados apresentam interface, implements, resultados explícitos de cotação e o cálculo necessário por faixas inteiras.
Ambiente de aprendizagem: A LabEx fornece um WebIDE no navegador com terminal integrado, compilador Java, código inicial e registros sintéticos de encomendas e tarifas. Não é necessário instalar Java ou ferramentas de compilação localmente. Os comandos, rótulos e resultados da aplicação permanecem em inglês.
Perguntas frequentes
São preços atuais de transportadoras reais?
Não. Todas as tarifas são dados didáticos sintéticos. O programa executa cálculos reais em Java e produz um arquivo real com as regras fornecidas, sem contatar um serviço de envio.
Vou escrever a aplicação inteira do zero?
Não. O script de execução e os leitores de entrada já estão preparados. Você completará a elegibilidade, os preços fixos e por faixas e a comparação por interface. Uma encomenda válida sem regras elegíveis é um resultado normal; um peso inválido rejeita o lote antes de qualquer saída de cotações.
Como o desafio amplia os laboratórios guiados?
Ele muda as identidades das encomendas, os pesos e os parâmetros das tarifas, incluindo empates e uma encomenda sem ofertas. Você combina as mesmas regras estudadas para entregar cotações completas, preservando os registros originais. Os ambientes são independentes e não precisam dos arquivos de um laboratório anterior.


