Na classe Cartao, faça o seguinte:
1 - Remova os métodos relativos ao atributo tipoProva
2 - Remova o atributo tipoProva e qualquer referência a ele, pois o cartão
não precisa dele
3 - Remova o método main deixado no final do código.
4 - Para efeitos de teste, crie uma classe separada, por exemplo TesteModel,
assim como fiz com minha parte "TesteView".
5 - Idente seu código corretamente. No NetBeans, basta apertar Alt+Shift+F
6 - Remova o método ajustarPrecisao.
7 - No método validarInscrição, ao invés de retornar int, retorne boolean,
onde true significa que a incrição é válida e false significa que ela não
é válida.
8 - No método de validar a inscrição, conte com o caso de a inscrição vir
com menos de 7 caracteres, por exemplo 12345 neste caso a inscrição correta
seria 0012345 sendo assim aconselho o seguinte algoritmo: conversa o int para
String, depois verifique a quantidade de caracteres da string, se a quantidade
for menor que 7, complete a string com zeros à esquerda, se for maior que 7
cancele a operação , emita uma mensagem com JOptionPane, e retorne false,
pois a inscrição é inválida
depois disso faça a verificação pegando cada caractere da string com o
método charAt(int posicao) e convertendo le para int, pois não vai ter como
fazer a conta com o char. A conversões aqui descritas podem ser feitas com
parse. Exemplo: converter string para int: int var = Integer.parseInt(String
string); Exemplo converter int para String: string var = String.format("%d",
varInt); Para converter de char para int, consulte a tabela ascii e veja a
lógica
9 - Exclua o método setNota, pois não é possível a inguém mudar a nota de
um cartão!
10 - Altere o método calcularNota para void ao invés de double, pois ele vai
calcular a nota do cartao e armazenar dentro dele mesmo, ou seja, não precisa
retornar nenhum valor pois vai estar fazendo alterações sem seu próprio
conteúdo.
11 - Deixe a classe Cartao com os seguintes métodos construtores: 1- recebendo
nada, 2- recebendo numero de inscricao e id da prova, que é o mínimo
necessário para um cartão
12 - remova o atributo idProva e tudo que for relacionado a ele, pois de fato,
como eu havia pensado no início, não precisamos nele na classe cartão, já
que todo cartão é um componente de uma prova, sendo assim ele depende de uma
prova pra existir
************************************************************
Para a classe Prova temos as seguintes tarefas pra vc:
1 - Adicione um método corrigirCartoes, que quando chamado, irá corrigir
todos os cartões de uma só vez. Você também deve implementar ele, já que
é simples, pois é só fazer um for percorrendo a lista de Cartoes e
executando o método de calcular nota de cada um deles.
2 - Mude este tipo de lista que a Prova tem dos cartões
ao invés de List<Cartao>, deixe como sendo HashMap<Integer, Cartao>, pois esta
última estrutura oferece alguns recursos interessantes para a gente trabalhar
que eu estou precisando aqui na verdade
3 - Crie para estrutura criada no item anterior os métodos get e set (gere de
forma automática que fica mais fácil :D)
Original issue reported on code.google.com by cleber.93cd on 23 Feb 2013 at 6:57
Original issue reported on code.google.com by
cleber.93cd
on 23 Feb 2013 at 6:57