आरओबी BOWDEN: हाय, मैं रोब हूँ. और मैं आपसे शुल्क लिए जाने की उम्मीद है क्रेडिट के लिए ऊपर. हम क्या करने की जरूरत है तो पहली बात क्रेडिट कार्ड का अनुरोध कर रहा है उपयोगकर्ता से नंबर. यहाँ, हम getLongLong प्रयोग कर रहे हैं. तुम भी getString प्रयोग किया जाता है, लेकिन हो सकता था उस मामले में, आप की जांच करने की आवश्यकता होगी कोई गैर संख्यात्मक कि वहाँ थे स्ट्रिंग में वर्ण. इसलिए हम getLongLong इस्तेमाल करेंगे. आप कुछ का उपयोग नहीं कर सकते हैं कि याद रखें getInt तरह, संख्या के बाद किया जाएगा एक पूर्णांक में फिट करने के लिए बहुत बड़ा है. हम चाहते हैं कि संख्या एक बार, हम इस समय पाश यहाँ देखें. इसलिए इस समय पाश लागू कर रहा है Luhn एल्गोरिथ्म कि आप pset कल्पना में देखते हैं. और यह वास्तव में हो रहा है एक सा चालाक हो. तो pset कल्पना में, सूचना है कि एक और दो अलग अलग हैं कदम. हम पहले पूरे क्रेडिट कार्ड खत्म हो जाना संख्या, हर दूसरे की तलाश में चरित्र को दूसरे से शुरू पिछले चरित्र, और उन्हें गुणन और सभी अंकों को जोड़ने. फिर उसके बाद, हम में जोड़ अन्य अंकों के सभी. तो बजाय दो में उन कर के अलग चरणों, हम गठबंधन करने के लिए जा रहे हैं उन पर एक यात्रा में पूरे क्रेडिट कार्ड नंबर. यहाँ, हम int चालू अंकों से बराबर देखना क्रेडिट कार्ड नंबर, आधुनिक 10. क्रेडिट कार्ड नंबर क्या है 10 mod कर रही है? यह हमारे पिछले अंक दे रही है पूरी संख्या में. तो याद है कि हम विभाजित अगर 10 से ऊपर नंबर, फिर शेष कि अंतिम अंक है जो कुछ भी होगा. 23, 10 से विभाजित शेष 3 होगा. तो पिछले अंक, अब यहाँ, हम देखते हैं हम 2 से mult पर शाखाओं में रहे. तो क्या हम mult का उपयोग करने जा रहे हैं 2 द्वारा लिए बीच का फर्क है "हर दूसरे नंबर के एक से दूसरा अंक "संख्या. 2 से Mult के रूप में बाहर शुरू करने जा रहा है झूठे, पिछले अंक के बाद नहीं करना चाहिए से विचार किया जाना पिछले अंक के लिए दूसरा. तो फिर पाश के लिए इस के अंत में, हम हम यह परिवर्तन करने के लिए जा रहे हैं कि देखने सत्य को असत्य से. के लिए लूप की अगली यात्रा पर, यह जब तक सच माना जा रहा है हम बदल जब अंत, सच से गलत पर यह. तो हम करने के लिए तीसरे पर हो जाएगा क्योंकि में से एक नहीं है, जो पिछले अंक, हम 2 से गुणा करना चाहिए कि अंक. हम उनमें से एक पर होना होता है तो अगर हम 2 से गुणा करना चाहते हैं कि अंक, हम हम अपने चेकसम को जोड़ रहे हैं देखते हैं. और यहाँ, हम प्रयोग कर रहे हैं त्रिगुट ऑपरेटर के लिए एक बार फिर एक सा चालाक हो. इसलिए चालू अंकों तो, कम से कम 5 है अगर हम सिर्फ चालू अंकों गुना 2 क्या कर सकते हैं. इतना आसान है. यह 1 है, तो हम 2 जोड़ना चाहते हैं. यह 2 है, तो हम 4 जोड़ना चाहते हैं. यह 4 है, तो हम 8 जोड़ना चाहते हैं. तो क्या 5 के बारे में खास है? खैर, 5 गुना 2 10 है. और pset कल्पना से याद है कि हम के अंकों को जोड़ना चाहते हैं संख्या 2 बार, और नहीं संख्या 2 बार ही. तो अगर मूल संख्या 7, 7 गुना 2 14 है. हम 1 प्लस 4 जोड़ना चाहते हैं नंबर करने के लिए, नहीं 14. तो यहाँ, संख्या 5 या अधिक से अधिक है, तो क्या हम क्या कर रहे चालू अंकों है बार 2 शून्य से 9. और आप इस बारे में सोचते हैं, 5 गुना 2 10 है. और इसलिए हम, 1 जोड़ रहे हैं 10 माइनस 9 है. और 6 गुना 2 12 है. तो हम 3 जोड़ रहे हैं जो 12 माइनस 9 है. और कहा कि सभी नंबरों के लिए काम करता है. इसलिए कि हम जोड़ रहे हैं क्या है हमारे checksum करने के लिए. और यह किसी और कदम से निपटने के लिए क्या है बस है जो Luhn एल्गोरिथ्म के दो यह नहीं होता है, तो अंकों को जोड़ने हर दूसरे अंक में से एक हो. तो एक बार हम इस रखे हुए है, जो है पहले दो अक्षर का का ट्रैक क्रेडिट कार्ड नंबर, पहली दो हम अंत में जा रहे हैं के बाद से अंक, सत्यापित करने के लिए यहाँ है कि नीचे का उपयोग करना चाहते करने के लिए, ठीक है, एक वीजा शुरू करने के लिए है इस के साथ, और एक अमेरिकन एक्सप्रेस आवश्यकताओं इस के साथ शुरू, और इतने पर. को अंत में, हम क्रेडिट कार्ड करना संख्या क्रेडिट कार्ड के बराबर होती है संख्या 10 से विभाजित. हम ऐसा क्यों करते हैं? खैर, हम सिर्फ पिछले अंक संभाला. 10 से विभाजित होगा बदलाव पूरे नंबर पर. वापस जब हम पाश तो अब, हम कर रहे हैं से निपटने होने जा रहा पिछले अंक के लिए दूसरा. हम फिर से इस हिट तब, जब हम जा रहे हैं पिछले करने के लिए दूसरी कट ऑफ के लिए अंकों, पाश वापस, और संभाल तृतीय जब तक, इतने पर अंकों पिछले है, और करने के लिए संख्या जो बिंदु पर, 0 तक पहुँच हम थोड़ी देर के पाश से बाहर तोड़. हम भी ऋण का ट्रैक रख रहे हैं कार्ड नंबर लंबाई, उस के बाद से यह है कि क्या अंतर करना महत्वपूर्ण एक वैध क्रेडिट कार्ड नंबर. तो अब, एक बार हम गणना की है checksum, हम यह निर्धारित कर सकते हैं यह है कि क्या एक वैध कार्ड है. checksum 10 mod हिस्सा है Luhn एल्गोरिथ्म की. Checksum 10 mod रिटर्न कुछ तो गैर शून्य है, तो यह सच वापसी करेंगे जो मामले में, संख्या अवैध होना चाहिए. अन्यथा, अगर checksum 10 mod 0 है, तो हम जारी रख सकते हैं. यह किसी और बड़ा कह रहा है कि अगर पहले अगर दो अंक, एमेक्स 1 के बराबर हैं जहां यहाँ, हम देखते हैं कि AMEX 1, कल्पना के अनुसार, 34 है. और हम भी यह तुलना करेंगे 37 है जो AMEX 2, के लिए. और क्रेडिट कार्ड नंबर लंबाई है उम्मीद अमेरिकन एक्सप्रेस के बराबर कार्ड लंबाई, तो हम कर सकते हैं अमेरिकन एक्सप्रेस मुद्रित. हम वीजा के साथ एक ऐसी ही बात करूँगा. पहले दो अंक अधिक होने की जरूरत या 40 के बराबर, या कम से कम से अधिक या 49 के बराबर. उन वैध वीजा कार्ड का प्रतिनिधित्व करते हैं. और लंबाई के बराबर होने की जरूरत वीजा लंबाई 1 या वीजा की लंबाई 2. और तो लंबाई या तो होना चाहिए 13 या 16 अंकों लंबा. और अंत में मास्टरकार्ड के साथ, यह है वीजा के लिए इसी तरह, कि पहले दो अंक एक खास में रहने की जरूरत सीमा, और लंबाई चाहिए ठीक 16 अंकों का होना. तो उन मामलों की किसी भी, तो में पकड़ पहले मामले में, हम AMEX मुद्रित करेंगे. इस मामले रखती हैं, तो हम वीजा मुद्रित करेंगे. इस मामले रखती है, हम करेंगे मास्टर कार्ड मुद्रित. लेकिन उन में से कोई पकड़ है, तो भी checksum वैध था, अगर हम अभी भी अवैध मुद्रित. इसके बारे में एक नहीं है क्योंकि ताश के पत्तों की उन प्रकार के. मेरा नाम रोब है, और मुझे आशा है कि पाया क्रेडिट दिलचस्प.