>> РОБ БОВДЕН: Здраво, ја сам Роб.
И надам се да ће вам се наплатити за кредит.
Дакле, прва ствар коју треба да урадите се затражи кредитну картицу
број од корисника.
Ево, ми користимо гетЛонгЛонг.
Могли сте такође користи гетСтринг, али у том случају, ти би потребно да проверите
да није било не-нумерички знакова у стрингу.
Тако ћемо користити гетЛонгЛонг.
>> Запамтите да не можете да користите нешто као Тонирана, јер је број ће бити
превелик да стане у цео број.
Када имамо тај број, ми погледајте овде ово док петља.
Дакле, ово док петља се реализује Лухн алгоритам који сте
види у псет спец.
>> И то је заправо дешава да буде мало паметан.
Дакле, у псет спецификације, приметићете да Кораци Један и Два су одвојени.
Ми прво ићи преко целог кредитне картице број, у потрази за сваки други
карактер почев од другог до последњи карактер, и да их множењем
и додајући све цифре.
Онда после тога, можемо додати у све друге цифара.
>> Дакле, уместо да ради оне у два одвојена корака, идемо да се комбинују
их у једну итерацију над цео број кредитне картице.
Ево, видимо инт Цур двоцифрене екуалс број кредитне картице, мод 10.
Шта је број кредитне картице мод 10 ради?
Требало нам даје последњу цифру у цео број.
Дакле, имајте на уму да, ако смо подељени број до од 10, а затим се остатак
ће бити шта год да је последња цифра је.
23 подељено са 10, Остатак ће бити 3.
>> Дакле, последња цифра, сада овде, видимо смо гранање на Мулт од 2..
Па шта ћемо да користите мулт по 2 за разликовање се
један од "сваке друге бројеве из друга цифра "бројеве.
Мулт по 2 ће почети као лажна, јер последње цифре не треба
сматрати из Други на последњу цифру.
>> Па онда на крају ове петље за, ми видим да ћемо променити ово
од лажног до истина.
На следећој итерацији петље у за, то ће сматрати истинитим док
крај, када смо променили то од тачно на фалсе.
Јер онда ћемо бити на трећи на последња цифра, која није једна од
цифре које треба помножити са 2..
>> Дакле, ако ми се деси да се на једном од оних цифре које желимо да помножимо са 2,
видимо да смо додајући да наш цхецксум.
И овде, ми користимо тројни оператер на једном
опет бити мало паметан.
Дакле, ако трен цифра мања од 5, онда можемо да урадимо трен цифара пута 2.
То је једноставно.
Ако је 1, онда желимо да додате 2.
Ако је 2, желимо да додате 4.
Ако је 4, желимо да додате 8.
>> Дакле, оно што је посебно у вези 5?
Па, 5 пута 2 је 10.
И запамтите из псет спец да желимо да додате цифара
број раз 2, а не број пута 2 Сам.
Дакле, ако оригинални број је 7, 7 пута 2 је 14.
Желимо да додате 1 плус 4 на број, не 14..
>> Дакле овде, ако је број 5 или већи, оно што радимо је трен цифра
2 пута минус 9.
А ако мислите о томе, 5 пута 2 је 10.
И тако смо додајући 1, што је 10 минус 9.
И 6 пута 2 је 12.
Тако смо додајући 3, који је 12 минус 9.
И то ради за све бројеве.
>> Дакле, то је оно што смо додајући нашем цхецксум.
А ово друго је оно што се руковање Корак Два Лухн алгоритма, који је само
додајући цифру ако се не догоди да буде један од сваке другим цифрама.
Дакле, када смо имали да, то је вођење нумера од прва два карактера
број кредитне картице, прва два цифара, пошто смо на крају одлазе
да желите да користите да овде доле да провери, У реду, виза мора да почне
Уз то, и Ан Америцан Екпресс потребе за почетак са овим, и тако даље.
>> Коначно, имамо кредитну картицу број једнак кредитну картицу
Број подељен са 10..
Зашто то радимо?
Па, ми смо само рукује последњу цифру.
Подела по 10 мењаће цео број преко.
Дакле, сада када смо се вратили петља, ми смо Биће руковање
Други на последњу цифру.
Онда када смо поново погодио ово, идемо да одсече други да траје
цифра, петља назад, а регулатор трећи да траје цифру, и тако даље, све док
број достиже 0, у ком тренутку ми пробије из вхиле петље.
>> Ми смо такође праћење кредита Дужина број картице, јер то је
важно је разликовати да ли је то број важеће кредитне картице.
Дакле, сада, када смо израчунати Цхецксум, можемо утврдити да ли је то
је важећи картица.
Цхецксум Мод 10 је део од Лухн алгоритма.
Ако нешто Цхецксум мод 10 враћа не-нула, онда ће се вратити истина,
у ком случају, број мора бити неважећи.
>> У супротном, ако цхецксум мод 10 је 0, онда можемо да наставимо.
Овај велики иф се каже, ако први две цифре су једнаки АМЕКС 1,
где овде, видимо да АМЕКС 1, као по спец, је 34.
И такође ћемо га упоредити да АМЕКС 2, што је 37.
А кредитна картица дужина број је једнак очекиваном Америцан Екпресс
дужина картица, онда можемо принт Америцан Екпресс.
>> Ми ћемо учинити сличну ствар са Виса.
Прве две цифре треба да буде већи од или једнака 40, или мање
од или једнака 49.
Они представљају валидне Виса картице.
И дужина треба да буде једнака Виза Дужина 1 или 2 виза дужина.
И тако дужина мора бити или 13 или 16 цифара дугачак.
>> И на крају са МастерЦард, то је сличан Виса, да прва два
цифара треба да буде у одређени опсег, а дужина мора
бити тачно 16 цифара.
Дакле, ако било који од тих случајева држите, затим у Први случај, ми ћемо одштампати АМЕКС.
Ако је ово случај има, ми ћемо одштампати Виса.
Ако је ово случај има, ми ћемо принт МастерЦард.
>> Али, ако нико од оних који држе, чак ако вредност била важећа,
ми и даље штампање неисправан.
Јер то није један од оне врсте картица.
Моје име је Роб, и ја ти се надам нашао кредит интересантан.