public class Metrica{
private double peso;
private double altura;
private double biceps;
private double peito;
private String data;//usar formato ano/mês/dia. Pode usar Date, se quiser
}
public class Cliente{
private String cpf;
private String sexo;
private String dataNascimento;//usar formato ano/mês/dia. Pode usar Date, se quiser
private ArrayList<Metrica> metricas;
}
public class Academia{
private String nome;
private String cnpj;
private ArrayList<Cliente> clientes;
}
acrescentar novos clientes
alterar dados cadastrais de um cliente (cpf, sexo e data de nascimento)
excluir um cliente
acrescentar métrica a um cliente
alterar métrica de um cliente numa determinada data (pode admitir que haverá no máximo uma métrica numa determinada data)
apagar métrica de um cliente numa determinada data (pode admitir que haverá no máximo uma métrica numa determinada data)
ordenar métricas de um cliente por data
ordenar métricas de todos os clientes da academia
obter peso corrente de um cliente (equivalente à métrica mais recente de peso registrada)
obter altura corrente de um cliente (equivalente à métrica mais recente de altura registrada)
obter bíceps corrente de um cliente (equivalente à métrica mais recente de bíceps registrada)
obter peito corrente de um cliente (equivalente à métrica mais recente de peito registrada)
obter peso inicial de um cliente (equivalente à métrica mais antiga registrada)
obter altura inicial de um cliente (equivalente à métrica mais antiga registrada)
obter bíceps inicial de um cliente (equivalente à métrica mais antiga registrada)
obter peito inicial de um cliente (equivalente à métrica mais antiga registrada)
obter variação de peso de um cliente (diferença de peso entre a métrica mais recente e a mais antiga). Faça o mesmo para os demais itens (altura, bíceps, peito)
obter os aniversariantes de um determinado mês
obter os aniversariantes do dia
saber se um cliente está com peso normal (pesquise 'índice de massa corporal ideal' na Internet e descubra a fórmula)
obter todos os clientes que estão com peso normal
obter os clientes com maior métrica corrente de peito
fazer um programa principal ou classe de testes que utilize todas as funcionalidades
use mapas, transforme o ArrayList<Metrica> metricas em TreeMap<String,Metrica> metricas (mapeia uma String representando a data num objeto Metrica), e faça as modificações necessárias. Observação: o método metricas.values() já retornará os objetos Metrica ordenados por data!
use mapas, transforme o ArrayList<Cliente> clientes em TreeMap<String,Cliente> clientes (mapeia uma String representando o cpf num objeto Cliente), e faça as modificações necessárias. Observação: o método metricas.values() já retornará os objetos Metrica ordenados por data!
obter um mapa com clientes que estão com peso normal, abaixo do peso normal e acima do peso normal
Obter os clientes que mais variaram positivamente a métrica de bíceps no intervalo de um mês. Pode admitir que as métricas são tomadas sempre uma vez por mês
- SEM System.out.println ou equivalente em NENHUMA das 3 classes acima (pode ter na classe de teste/programa principal)
- SEM Scanner ou equivalente em NENHUMA das 3 classes acima (pode ter na classe de teste/programa principal)