1 00:00:00,000 --> 00:00:13,290 2 00:00:13,290 --> 00:00:14,570 >> ROB BOWDEN: Hi, jien Rob. 3 00:00:14,570 --> 00:00:17,610 U nispera li int mitlub up għall-kreditu. 4 00:00:17,610 --> 00:00:20,710 Allura l-ewwel ħaġa li rridu nagħmlu huwa jitlob lill-karta ta 'kreditu 5 00:00:20,710 --> 00:00:22,710 numru mill-utent. 6 00:00:22,710 --> 00:00:25,060 Hawnhekk, aħna qed jużaw getLongLong. 7 00:00:25,060 --> 00:00:29,070 Inti tista użaw ukoll getString, iżda f'dak il-każ, youd bżonn li jiċċekkja 8 00:00:29,070 --> 00:00:32,340 li ma kienx hemm non-numeriku karattri fit-sekwenza. 9 00:00:32,340 --> 00:00:34,560 Allura aħna ser tuża getLongLong. 10 00:00:34,560 --> 00:00:38,070 >> Ftakar li inti ma tistax tuża xi ħaġa bħal getInt, peress li n-numru se jkun 11 00:00:38,070 --> 00:00:40,650 kbar wisq biex tajbin fil integer. 12 00:00:40,650 --> 00:00:44,480 Ladarba għandna dak in-numru, aħna tara hawn dan loop waqt. 13 00:00:44,480 --> 00:00:48,210 Allura dan loop filwaqt li qed jimplimenta Algoritmu Luhn li inti 14 00:00:48,210 --> 00:00:50,980 tara fil-spec pset. 15 00:00:50,980 --> 00:00:53,830 >> U huwa attwalment għaddejjin li jkun daqsxejn għaqlija. 16 00:00:53,830 --> 00:01:00,800 Allura fil-spec pset, avviż li Passi Wieħed u Tnejn huma separati. 17 00:01:00,800 --> 00:01:05,160 Aħna l-ewwel jmorru fuq il-karta ta 'kreditu kollu numru, tfittex kull oħra 18 00:01:05,160 --> 00:01:09,775 karattru li jibdew mit-tieni sa karattru aħħar, u multiplikazzjoni minnhom 19 00:01:09,775 --> 00:01:11,750 u żżid l-ċifri. 20 00:01:11,750 --> 00:01:16,150 Imbagħad wara dan, aħna żid fl kollha tal-numri l-oħra. 21 00:01:16,150 --> 00:01:20,660 >> Allura minflok tagħmel dawk iż-żewġ passi separati, aħna qed tmur biex jgħaqqdu 22 00:01:20,660 --> 00:01:24,430 minnhom fil iterazzjoni waħda fuq l- numru kollu karta ta 'kreditu. 23 00:01:24,430 --> 00:01:29,710 Hawnhekk, naraw int ugwali ċifri kur numru tal-karta ta 'kreditu, mod 10. 24 00:01:29,710 --> 00:01:32,050 X'inhu numru tal-karta ta 'kreditu mod 10 tagħmel? 25 00:01:32,050 --> 00:01:35,750 Huwa tagħtina l-aħħar ċifri fin-numru sħiħ. 26 00:01:35,750 --> 00:01:39,340 Mela ftakar li jekk aħna maqsuma l- jinnumera up b'10, allura l-bqija 27 00:01:39,340 --> 00:01:42,180 ikun x'ikun li l-aħħar ċifra hija. 28 00:01:42,180 --> 00:01:46,560 23 maqsum f'10, il- bqija se jkun ta '3. 29 00:01:46,560 --> 00:01:53,760 >> Allura l-aħħar ċifri, issa hawn, naraw aħna qed fergħat fuq mult bi 2. 30 00:01:53,760 --> 00:01:57,630 Allura dak li aħna qed tmur biex tkun qed tuża mult bi 2 għal huwa distinzjoni bejn 31 00:01:57,630 --> 00:02:02,110 wieħed mill-"kull numri oħra minn it-tieni "numri ċifri. 32 00:02:02,110 --> 00:02:08,310 Mult minn 2 se jibdew bħala falza, mill-aħħar ċifri ma għandhomx 33 00:02:08,310 --> 00:02:11,750 jiġu kkunsidrati mill- tieni li l-aħħar ċifri. 34 00:02:11,750 --> 00:02:16,760 >> Mela allura fl-aħħar ta 'dan għal loop, aħna tara li aħna qed tmur biex tbiddel dan 35 00:02:16,760 --> 00:02:18,870 minn falza vera. 36 00:02:18,870 --> 00:02:22,520 Fuq il-iterazzjoni li jmiss tal-għall-loop, li għaddej biex kkunsidrata veru sakemm 37 00:02:22,520 --> 00:02:25,090 l-aħħar, meta nagħmlu l-bidla minn vera għall falza. 38 00:02:25,090 --> 00:02:28,290 Għaliex allura aħna ser tkun fuq it-tielet biex aħħar ċifri, li mhix waħda mill- 39 00:02:28,290 --> 00:02:32,210 ċifri li għandna jimmultiplikaw bi 2. 40 00:02:32,210 --> 00:02:37,410 >> Allura jekk aħna jiġri li jkun fuq waħda minn dawk numri li aħna rridu li jimmultiplikaw bi 2, 41 00:02:37,410 --> 00:02:40,610 naraw aħna qed żżid checksum tagħna. 42 00:02:40,610 --> 00:02:43,640 U hawn, aħna qed tuża l- operatur ternarji għal darba 43 00:02:43,640 --> 00:02:45,470 jerġa 'jkun daqsxejn għaqlija. 44 00:02:45,470 --> 00:02:50,170 Mela jekk figuri cur huwa inqas minn 5, allura nistgħu biss tagħmel żminijiet ċifri kur 2. 45 00:02:50,170 --> 00:02:50,690 Li sempliċi. 46 00:02:50,690 --> 00:02:52,770 Jekk huwa 1, imbagħad irridu żid 2. 47 00:02:52,770 --> 00:02:54,090 Jekk huwa 2, irridu żid 4. 48 00:02:54,090 --> 00:02:55,530 Jekk huwa 4, irridu żid 8. 49 00:02:55,530 --> 00:02:57,400 >> Allura x'hemm speċjali madwar 5? 50 00:02:57,400 --> 00:03:00,290 Well, 5 darbiet 2 huwa 10. 51 00:03:00,290 --> 00:03:05,920 U ftakar mill-spec pset li irridu li jżidu l-ċifri tal- 52 00:03:05,920 --> 00:03:09,300 numru ħinijiet 2, u mhux il- ħinijiet numri 2 innifsu. 53 00:03:09,300 --> 00:03:13,920 Allura jekk in-numru oriġinali huwa 7, 7 darbiet 2 huwa 14. 54 00:03:13,920 --> 00:03:18,930 Aħna rridu li żid 1 plus 4 l-għadd, mhux 14. 55 00:03:18,930 --> 00:03:24,050 >> Allura hawnhekk, jekk in-numru 5 jew ikbar, dak li aħna qed tagħmel qed ċifri cur 56 00:03:24,050 --> 00:03:26,470 drabi 2 minus 9. 57 00:03:26,470 --> 00:03:29,940 U jekk taħseb dwar dan, 5 darbiet 2 huwa 10. 58 00:03:29,940 --> 00:03:33,130 U hekk aħna qed żżid 1, li hija 10 minus 9. 59 00:03:33,130 --> 00:03:35,490 U 6 darbiet 2 huwa 12. 60 00:03:35,490 --> 00:03:38,380 Allura aħna qed żżid 3, li huwa 12 minus 9. 61 00:03:38,380 --> 00:03:40,250 U li taħdem għall-numri kollha. 62 00:03:40,250 --> 00:03:43,330 >> Allura dak hu li aħna qed żżid li checksum tagħna. 63 00:03:43,330 --> 00:03:49,970 U dan ieħor huwa dak immaniġġjar Step Tnejn mill algoritmu Luhn, li huwa biss 64 00:03:49,970 --> 00:03:55,010 żżid il-figuri jekk ma jiġri li jkun wieħed mill-kull numri oħra. 65 00:03:55,010 --> 00:04:01,440 Allura ladarba għandna dan, din hija żamma track mill-ewwel żewġ karattri tal- 66 00:04:01,440 --> 00:04:05,220 numru tal-karta ta 'kreditu, l-ewwel tnejn ċifri, peress li aħna qed eventwalment se 67 00:04:05,220 --> 00:04:08,980 li jridu jużaw din stabbiliti hawn biex jivverifika, id-dritt, Viża għandha tibda 68 00:04:08,980 --> 00:04:14,440 Ma 'dan, u bżonnijiet American Express li tibda ma 'dan, u l-bqija. 69 00:04:14,440 --> 00:04:16,850 >> Fl-aħħarnett, nagħmlu karta ta 'kreditu numru ugwali karta ta 'kreditu 70 00:04:16,850 --> 00:04:18,730 numru maqsum f'10. 71 00:04:18,730 --> 00:04:19,829 Għalfejn nagħmlu dan? 72 00:04:19,829 --> 00:04:22,070 Well, aħna biss mmaniġġjati l-aħħar ċifri. 73 00:04:22,070 --> 00:04:24,880 Billi tiddividi 10 ser jinxteħet in-numru kollu fuq. 74 00:04:24,880 --> 00:04:27,150 Allura issa meta aħna loop lura, aħna qed ser ikunu timmaniġġja l- 75 00:04:27,150 --> 00:04:28,540 tieni li l-aħħar ċifri. 76 00:04:28,540 --> 00:04:31,060 Imbagħad meta aħna hit din darb'oħra, aħna qed tmur biex jinqata 't-tieni għall-aħħar 77 00:04:31,060 --> 00:04:35,060 figuri, loop lura, u jimmaniġġjaw it-tielet għall-aħħar ċifri, u tkompli hekk, sakemm l- 78 00:04:35,060 --> 00:04:40,120 numru jilħaq 0, f'liema punt aħna break out tal-linja waqt. 79 00:04:40,120 --> 00:04:43,560 >> Aħna wkoll iżżomm rekord tal-kreditu tul numru tal-karta, peress li l- 80 00:04:43,560 --> 00:04:48,440 importanti li ssir distinzjoni jekk huwa numru tal-karta ta 'kreditu valida. 81 00:04:48,440 --> 00:04:53,560 Allura issa, ladarba aħna ħadthom kkalkulat l- checksum, nistgħu jiddetermina jekk 82 00:04:53,560 --> 00:04:55,180 hija karta valida. 83 00:04:55,180 --> 00:04:58,010 Il-mod checksum 10 hija parti tal algoritmu Luhn tal. 84 00:04:58,010 --> 00:05:03,360 Jekk checksum mod 10 prospetti xi ħaġa mhux żero, mela dan se jirritornaw veru, 85 00:05:03,360 --> 00:05:06,650 f'liema każ, in-numru għandu jkun invalidu. 86 00:05:06,650 --> 00:05:12,590 >> Inkella, jekk checksum mod 10 huwa 0, allura nistgħu tkompli. 87 00:05:12,590 --> 00:05:18,360 Dan big inkella jekk huwa qal, jekk l-ewwel żewġ ċifri huma ugwali għal AMEX 1, 88 00:05:18,360 --> 00:05:23,640 fejn up hawn, naraw li AMEX 1, kif fis-spec, huwa 34. 89 00:05:23,640 --> 00:05:26,595 U aħna ser wkoll tqabbilha biex AMEX 2, li huwa 37. 90 00:05:26,595 --> 00:05:30,360 91 00:05:30,360 --> 00:05:34,210 U n-numru tul karta ta 'kreditu ugwali għall-American Express mistenni 92 00:05:34,210 --> 00:05:37,910 tul card, allura nistgħu print American Express. 93 00:05:37,910 --> 00:05:41,920 >> Aħna ser tagħmel xi ħaġa simili ma 'Visa. 94 00:05:41,920 --> 00:05:51,940 L-ewwel żewġ ċifri għalfejn ikun ikbar minn jew ugwali għal 40, jew anqas 95 00:05:51,940 --> 00:05:54,290 minn jew ugwali għal 49. 96 00:05:54,290 --> 00:05:57,180 Dawk jirrappreżentaw cards viża valida. 97 00:05:57,180 --> 00:06:01,530 U t-tul jeħtieġ li jkun ugwali għal Visa Tul 1 jew Tul Visa 2. 98 00:06:01,530 --> 00:06:07,320 U għalhekk it-tul għandhom ikunu jew 13 jew 16 numri fit-tul. 99 00:06:07,320 --> 00:06:12,240 >> U fl-aħħarnett ma MasterCard, huwa simili għal Visa, li l-ewwel tnejn 100 00:06:12,240 --> 00:06:15,340 numri jeħtieġ li tkun ċerta firxa, u-most tul 101 00:06:15,340 --> 00:06:19,440 tkun eżattament 16 numri. 102 00:06:19,440 --> 00:06:24,390 Mela jekk xi waħda minn dawk il-każijiet istiva, imbagħad fl- l-ewwel każ, aħna ser jistampaw AMEX. 103 00:06:24,390 --> 00:06:26,310 Jekk il-każ istivi, aħna ser jistampaw Visa. 104 00:06:26,310 --> 00:06:28,400 Jekk il-każ istivi, aħna ser print MasterCard. 105 00:06:28,400 --> 00:06:32,170 >> Imma jekk ebda waħda minn dawn istiva, anke jekk il-checksum kien validu, 106 00:06:32,170 --> 00:06:33,900 aħna xorta print invalida. 107 00:06:33,900 --> 00:06:37,050 Għaliex mhuwiex wieħed ta ' dawk it-tipi ta 'karti. 108 00:06:37,050 --> 00:06:40,030 Jisimni Rob, u nispera li inti interessanti kreditu misjuba. 109 00:06:40,030 --> 00:06:46,272