Laboratorio de Engenharia

26/04/2017

0

Assuma que se tem um arquivo-texto contendo números de cartões de crédito. Cada linha
deste arquivo contem os seguintes dados, separados por ponto e vírgula: o número do
cartão, a data de expiração e o nome do titular do cartão. Elaborar um programa Java que
utilize os seguintes nomes de classes a seguir:
◦ CreditCard;
◦ VisaCC, MasterCC, AmExCC, todas subclasses de CreditCard.

Futuramente, novas classes de cartão poderão ser adicionadas. Assim, pede-se

(a) Implementar um programa Java que leia um arquivo-texto com diversos números de
cartões. O programa deverá ter as classes descritas anteriormente, além de outras que
se julgar necessárias para implementar o programa.

(b) O programa deverá ler cada informação de cartão e então identificar que cartão é este,
criando um objeto da classe correspondente na memória e o armazenando em uma
estrutura de dados conveniente na memória. Depois, o programa deverá listar na tela
os cartões identificados, agrupados por tipo (Amex, Visa etc). Tentar identificar e aplicar
um ou mais padrões de projeto para serem adaptados a este projeto – não esquecer de
escrever e justificar os nomes dos padrões na documentação a ser enviada.

NOTA: não é necessário utilizar o algoritmo exato para identificar os cartões (ISO
2894/ANSI 4.13). Utilize a tabela a seguir:

MasterCard O primeiro dígito é 5 e o segundo dígito está no intervalo [1..5].
O comprimento é de 16 dígitos.

Visa O primeiro dígito é 4. O comprimento é 13 ou 16 dígitos.

AmericanExpress O primeiro dígito é 3 e o segundo dígito é 4 ou 7. O
comprimento é de 15 dígitos.

Discover Os primeiros quatro dígitos são 6011. O comprimento é 16
dígitos.
Geovani

Geovani

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar