>> ROB Bowden: Bok, ja sam Rob.
I nadam se da vam se naplaćuje za kredit.
Dakle, prva stvar koju trebate učiniti je zatražiti kreditnu karticu
broj od korisnika.
Evo, mi smo pomoću getLongLong.
Moglo bi se također koriste getString, ali u tom slučaju, ne bi potrebno provjeriti
da nije bilo nebrojčani Likovi u nizu.
Dakle, mi ćemo koristiti getLongLong.
>> Zapamtite da ne možete koristiti nešto kao getInt, jer je broj će biti
prevelika da stane u cijeli broj.
Nakon što smo taj broj, mi vidim ovdje ovaj while petlja.
Dakle, ovo while petlja provodi Luhn algoritam koji
pogledajte u pset spec..
>> I to je zapravo ide biti malo pametan.
Dakle, u pset spec., primijetiti da Korak jedan i dva su zasebna.
Mi smo prvi put ići preko cijele kreditne kartice broj, u potrazi za svaki drugi
znak od drugog do zadnji znak, te ih množenjem
i dodavanjem sve znamenke.
Onda nakon toga, dodamo sve ostale znamenki.
>> Dakle, umjesto da rade oni u dva zasebna koraka, idemo kombinirati
ih u jednu iteraciju nad Cijeli broj kreditne kartice.
Ovdje vidimo int sad znamenke dosegne broj kreditne kartice, mod 10.
Što je broj kreditne kartice mod 10 radi?
To nam daje posljednju znamenku u je cijeli broj.
Dakle, imajte na umu da, ako smo podijeljeni broje se s 10, a zatim je ostatak
će biti što god da je posljednja znamenka.
23 podijeljen 10, Ostatak će biti 3.
>> Dakle, zadnja znamenka, sada ovdje, vidimo mi smo ogranaka mult po 2.
Dakle, ono što ćemo biti koristeći mult po 2 za je razlikovanje između
jedan od "svakih drugih brojeva iz Druga znamenka "brojevi.
Mult po 2 će započeti kao netočno, jer posljednju znamenku ne treba
promatrati s Drugi na posljednju znamenku.
>> Pa onda na kraju to za petlje, mi vidim da ćemo to promijeniti
od lažno se istina.
Na sljedeća iteracija za petlje, to će se smatrati vrijedi do
kraj, kad smo promijenili to od istina false.
Jer tada ćemo biti na trećem se zadnji broj, koji nije jedan od
znamenaka da trebamo pomnožiti dva.
>> Dakle, ako mi se dogoditi da se na jedan od onih znamenaka koje želimo pomnožiti sa 2,
vidimo da smo dodajući da naš checksum.
I ovdje, koristimo ternarna operater na jednom
opet biti malo pametan.
Dakle, ako sad je brojka manja od 5, a zatim mi samo možemo učiniti sad znamenka puta dva.
To je jednostavno.
Ako je 1, onda želimo dodati 2.
Ako je 2, želimo staviti na četiri.
Ako je 4, želimo dodati 8.
>> Dakle, ono što je posebno o 5?
Pa, 5 puta 2 je 10.
I zapamtite od pset spec. da želimo dodati znamenke
puta broj 2, a ne broj puta 2 sama.
Dakle, ako je izvorni broj je 7, 7 puta 2 je 14.
Želimo dodati jedan plus 4 na broj, a ne 14.
>> Pa evo, ako je broj 5 ili veći, što radimo je sad znamenka
puta 2 minus 9.
A ako mislite o tome, 5 puta 2 je 10.
I tako smo dodajući 1, koji je 10 minus 9.
A 6 puta 2 je 12.
Tako smo dodajući 3, koji je 12 minus 9.
I to radi za sve brojeve.
>> Dakle, to je ono što smo dodajući našem checksum.
A ovo drugo je ono što je rukovanje Korak Dva Luhn algoritam, koji je samo
dodao brojku, ako se to ne dogodi biti jedan od svakih drugih znamenki.
Dakle, nakon što smo se da je to čuvanje Staza od prvih dvaju likova
broj kreditne kartice, prva dva znamenaka, budući da smo na kraju ide
da žele to iskoristiti ovdje kako bi potvrdili, sve u redu, Visa mora početi
Uz to, i An American Express potrebe započeti s tim, i tako dalje.
>> Konačno, možemo napraviti kreditnu karticu Broj izdanih udjela jednak kreditnu karticu
Broj podijeljeno 10.
Zašto to činimo?
Pa, samo smo barata posljednju znamenku.
Podjela po 10. će se smjene Cijeli broj iznad.
Dakle, sada kada smo povratna petlja, mi smo će biti rukovanje
Drugi na posljednju znamenku.
Onda kad smo to opet pogodio, idemo odsjeći predzadnji
znamenki, povratna petlja, a obrađuju treći na zadnji brojku, i tako dalje, sve dok
broj doseže 0, na kojem trenutku ćemo izaći iz while petlje.
>> Mi smo također praćenje kredita Duljina broj kartice, budući da je
važno je razlikovati je li to broj važeće kreditne kartice.
Tako sada, nakon što smo izračunati Ček, možemo utvrditi da li je
je valjana kartica.
Ček mod 10 je dio od Luhn algoritam.
Ako checksum mod 10 vraća se nešto nule, onda će se vratiti točno,
u tom slučaju, broj mora biti valjana.
>> U protivnom, ako ček mod 10 0, tada možemo nastaviti.
Ova velika drugo, ako se govori, ako je prvi dvije znamenke su jednake AMEX 1,
gdje je ovdje, vidimo da je AMEX 1, kao i po spec., je 34.
I sami ćemo ga usporediti za AMEX 2, koji je 37.
I kreditne kartice duljinom broj jednaka očekivanoj American Express
Duljina kartice, onda možemo ispisati American Express.
>> Mi ćemo učiniti sličnu stvar s Visa.
Prve dvije znamenke trebaju biti veći od ili jednak 40, ili manje
od ili jednak 49.
Oni predstavljaju valjane Visa kartica.
I duljina mora biti jednak Visa Duljina 1 ili Visa Duljina 2.
I tako duljina mora biti ili 13 ili 16 znamenki.
>> I na kraju s MasterCard, to je sličan Visa, da prva dva
znamenke moraju biti u sigurno Raspon, a dužina mora
biti točno 16 znamenki.
Dakle, ako bilo koji od tih slučajeva držite, a zatim u Prvi slučaj, mi ćemo ispisati AMEX.
Ako je to slučaj drži, mi ćemo ispisati vizu.
Ako je to slučaj drži, mi ćemo ispisati MasterCard.
>> No, ako se nitko od onih koji imaju, čak i ako je ček bio važeći,
još uvijek ispisati nevažeća.
Budući da to nije jedan od one vrste kartica.
Moje ime je Rob, a ja ti se nadam pronašao kreditne zanimljiva.