ज्ञान बनाम कौशल
कॉलेज ने हमें सिखाया कि सिद्धांत और व्यवहार में कोई बड़ा अंतर नहीं है। ठीक है, आप निश्चित रूप से समझते हैं कि यह समान नहीं है। लेकिन आप मूल अंतर नहीं देखते हैं। फिर भी एक है। अधिकांश लोग "मुझे पता है" और "मैं कर सकता हूँ" के बीच समानता का चिन्ह लगाते हैं। क्या आप? कैसे कुछ उदाहरणों के बारे में?- मुझे पता है कि धूम्रपान मेरे लिए बुरा है, लेकिन मैं धूम्रपान करता हूँ।
- मुझे पता है कि फास्ट फूड मेरे लिए खराब है, लेकिन मैं इसे खाता हूं।
- मुझे ट्रैफिक नियम पता हैं लेकिन मैं ड्राइव नहीं कर सकता।
- मुझे पता है कि जॉगिंग करना मेरे लिए अच्छा है लेकिन मैं सुबह जॉगिंग नहीं करता।
आप एक नए स्तर पर पहुंच गए हैं
स्तर 9
1 रिशा, स्टैक ट्रेस
- अरे! आज मैं आपको बताऊंगा कि स्टैक ट्रेस क्या है। लेकिन पहले मैं आपको समझा दूं कि स्टैक क्या है। - कागजात के ढेर की कल्पना करें - एक निश्चित क्लर्क के लिए असाइनमेंट। स्टैक के शीर्ष पर एक नया असाइनमेंट रखा जा सकता है, और वह स्टैक के शीर्ष से असाइनमेंट लेगा। इस प्रकार, असाइनमेंट पहले आओ पर नहीं किया जाएगा। हर बार क्लर्क आखिरी में आने वाले असाइनमेंट को लेता है। संग्रह की ऐसी संरचना को ढेर कहा जाता है । - जावा में, एक विशेष संग्रह है - स्टैक। इस संग्रह में विधियाँ हैं «एक तत्व जोड़ें» और «ले (प्राप्त करें / दूर करें) एक तत्व»। जैसा कि आप पहले से ही जानते हैं, जोड़ा गया अंतिम तत्व पहले लिया जाएगा। - गुंजन। मुझे लगता है, यह मुश्किल नहीं है। - अच्छा। फिर मुझे समझाएं कि स्टैक ट्रेस क्या होता हैहै। - कल्पना करें कि जावा फ़ंक्शन में А फ़ंक्शन B को कॉल करता है , और बाद वाला फ़ंक्शन C को कॉल करता है , जो बदले में, फ़ंक्शन D को कॉल करता है । इसलिए, फ़ंक्शन बी से बाहर निकलने के लिए , आपको पहले फ़ंक्शन सी से बाहर निकलना होगा , और ऐसा करने के लिए आपको फ़ंक्शन डी से बाहर निकलना होगा । यह ढेर के समान ही है। - और समानता क्या है? - स्टैक में, एक निश्चित असाइनमेंट प्राप्त करने के लिए, आपको ऊपर दिए गए सभी असाइनमेंट को भी पूरा करना होगा। - ठीक है, यह एक सादृश्य है, लेकिन मुझे यकीन नहीं है कि मैं सब कुछ ठीक से समझता हूं। - यहाँ देखो। जावा में एक ढेर तत्वों का एक समूह है। यह ढेर में कागज की चादरों की तरह है। ऊपर से तीसरी लेने के लिए आपको दूसरी शीट लेनी होगी, लेकिन इससे पहले आपको पहली वाली लेनी होगी। आप हमेशा चादरें रख सकते हैं और ले सकते हैं, लेकिन आप उन्हें केवल शीर्ष पर रख सकते हैं और केवल ऊपर से ही ले सकते हैं। फ़ंक्शन कॉल पर भी यही बात लागू होती है। फ़ंक्शन ए फ़ंक्शन बी को कॉल करता है , बाद वाला फ़ंक्शन सी को कॉल करता है । ए से बाहर निकलने के लिए , आपको पहले बी से बाहर निकलना होगा , और ऐसा करने के लिए आपको सी से बाहर निकलना होगा । - ज़रा ठहरिये। अगर मुझे यह सही लगता है, तो पूरा ढेर निकलता है «केवल आखिरी शीट जिसे स्टैक पर रखा गया था, लिया जा सकता है» और «पहले, आखिरी बुलाया गया फ़ंक्शन बाहर निकलना चाहिए»। क्या ऐसा है? - हाँ। तो, फ़ंक्शन कॉल का क्रम "फ़ंक्शन कॉल स्टैक" या बस "कॉल स्टैक" है। अंतिम कहे जाने वाले कार्य को पहले समाप्त किया जाना चाहिए। आइए उदाहरण देखें: - ठीक है। मुझे लगता है कि फ़ंक्शन कॉल के साथ सब कुछ स्पष्ट है। लेकिन यह StackTraceElement क्या है ? - जावा वर्चुअल मशीन सभी फ़ंक्शन कॉल लॉग करती है। इस उद्देश्य के लिए इसका एक विशेष संग्रह है - स्टैक। जब एक फ़ंक्शन दूसरे को कॉल करता है, तो JVM इस स्टैक में एक नया तत्व StackTraceElement डालता है। जब फ़ंक्शन समाप्त हो जाता है, तो तत्व को स्टैक से हटा दिया जाता है। इस प्रकार, यह स्टैक हमेशा «फ़ंक्शन कॉल स्टैक» की वर्तमान स्थिति के बारे में अद्यतित जानकारी संग्रहीत करता है। - हर स्टैकट्रेस एलिमेंटतथाकथित विधि के बारे में जानकारी शामिल है। तो आप getMethodName का उपयोग करके इस विधि का नाम प्राप्त कर सकते हैं । - उपरोक्त उदाहरण इसे दिखाता है:- «कॉल स्टैक» प्राप्त करें:
- for-प्रत्येक लूप का उपयोग करके सरणी को पुनरावृत्त करें । मुझे आशा है कि आप इसे नहीं भूले हैं।
- System.out में विधि नाम प्रिंट करें ।
2 डिएगो, स्टैक ट्रेस डिस्प्ले पर कार्य
- अरे, अमीगो! स्क्रीन पर स्टैक ट्रेस प्रदर्शित करने के लिए यहां एक छोटा सा कार्य है।कार्य | |
---|---|
1 | प्रत्येक विधि को अपना स्टैकट्रेस वापस करना चाहिए पांच विधियाँ लिखें जो एक दूसरे को बुलाती हैं। प्रत्येक विधि को अपना स्टैकट्रेस वापस करना चाहिए। |
2 | स्टैकट्रेस फिर से पाँच विधियाँ लिखें जो एक दूसरे को बुलाती हैं। प्रत्येक विधि को अपनी कॉलर विधि का नाम वापस करना चाहिए। आप स्टैकट्रेस का उपयोग करके कॉलर विधि प्राप्त कर सकते हैं। |
3 | विधि को कोड की पंक्ति संख्या वापस करनी चाहिए, इस विधि को पांच विधियों को लिखें जो एक दूसरे को कॉल करते हैं। प्रत्येक विधि को उस कोड की पंक्ति संख्या वापस करनी चाहिए जिससे यह विधि कॉल की गई थी। फ़ंक्शन element.getLineNumber() का उपयोग करें । |
4 | 10 कॉल का स्टैक ट्रेस 10 कॉल का स्टैक ट्रेस प्राप्त करने के लिए कोड लिखें। |
5 | विधि को एक परिणाम वापस करना चाहिए - इसकी स्टैक ट्रेस गहराई एक ऐसी विधि लिखें जो इसकी स्टैक ट्रेस गहराई को प्रदर्शित करे और लौटाए। स्टैक ट्रेस डेप्थ इसकी विधियों की संख्या (सूची में तत्वों की संख्या) है। |
3 एली, त्रुटियां और अपवाद
- अरे, अमीगो! आज हमारे पास एक बहुत ही रोचक सबक है। मैं आपको अपवादों के बारे में बताता हूँ। अपवाद प्रोग्राम में त्रुटियों को नियंत्रित करने के लिए एक विशेष तंत्र है। प्रोग्राम में हो सकने वाली त्रुटियों के कुछ उदाहरण यहां दिए गए हैं:- प्रोग्राम पूर्ण डिस्क पर फ़ाइल लिखने का प्रयास करता है।
- कार्यक्रम एक चर की एक विधि को कॉल करने का प्रयास करता है जो अशक्त संदर्भ को संग्रहीत करता है।
- कार्यक्रम एक संख्या को 0 से विभाजित करने का प्रयास करता है।
- जब कोई त्रुटि होती है, तो जावा वर्चुअल मशीन एक विशेष वस्तु - एक अपवाद - बनाता है जिसमें त्रुटि के बारे में सारी जानकारी होती है। अलग-अलग त्रुटियों के लिए अलग-अलग अपवाद हैं।
- तब यह अपवाद प्रोग्राम को वर्तमान फ़ंक्शन को तुरंत बाधित करने के लिए मजबूर करता है, और अगला फ़ंक्शन, जब तक कि वह मुख्य विधि से बाहर न निकल जाए। इसके बाद कार्यक्रम समाप्त हो जाता है। जावा डेवलपर्स इस प्रक्रिया को "रोल बैक द कॉल स्टैक" कहते हैं।
- यदि ट्राई ब्लॉक के अंदर कोई अपवाद होता है , तो इस ब्लॉक में कोड निष्पादित नहीं किया जाता है, लेकिन ब्लॉक कैच का निष्पादन शुरू हो जाता है।
- यदि कोई अपवाद नहीं होता है, तो कोशिश ब्लॉक को अंत तक निष्पादित किया जाता है , और पकड़ को कभी भी निष्पादित नहीं किया जाता है ।
4 एली, रनटाइम अपवाद, फेंकता है
- मैंने आज एक और विषय लाने का फैसला किया। जावा में, सभी अपवादों को दो प्रकारों में विभाजित किया जाता है - नियंत्रित/चेक किया गया और अनियंत्रित/अनियंत्रित । चेक किए गए अपवादों को पकड़ा जाना चाहिए , अनचेक किए गए अपवादों को पकड़ा जा सकता है लेकिन इसकी आवश्यकता नहीं है । - क्या उद्देश्य पर कोड में अपवादों को फेंकना संभव है? - अपने कोड में, आप स्वयं अपवाद फेंक सकते हैं। आप अपने स्वयं के अपवाद भी लिख सकते हैं। लेकिन हम इस छेद में बाद में गहरा करेंगे। अब आइए जानें कि जावा वर्चुअल मशीन द्वारा फेंके गए अपवादों के साथ कैसे काम किया जाए। - ठीक है। - यदि अपवाद ClassNotFoundException और FileNotFoundException हैंएक विधि में फेंके जाते हैं (दिखाई देते हैं), प्रोग्रामर को उन्हें एक विधि (विधि शीर्षलेख) के हस्ताक्षर में निर्दिष्ट करना होता है। ऐसे अपवादों की जाँच की जाती है। यह आमतौर पर ऐसा दिखता है: - तो, हम केवल फेंकता लिखते हैं और अपवादों को अल्पविराम से अलग करते हैं। सही? क्या ऐसा है? - हाँ। लेकिन एक और दिलचस्प बात है. नीचे दिए गए उदाहरण को संकलित करने के लिए, मेथड 1 () को कॉल करने वाली विधि को या तो इन अपवादों को पकड़ना है या उन्हें आगे फेंकना है। यदि आप चेक किए गए अपवाद को आगे फेंकना चाहते हैं तो आपको इसे विधि के शीर्षलेख में निर्दिष्ट करने की आवश्यकता है । - एक बार फिर, यदि मुख्य विधि में, आप एक ऐसी विधि को कॉल करना चाहते हैं, जिसके हेडर वाक्यांश में FileNotFoundException फेंकता है , ... तो आपको इन दो चीजों में से एक करना होगा:- अपवादों को पकड़ने के लिए FileNotFoundException, ...
आपको उस कोड को लपेटना होगा जहां आप ट्राइ-कैच ब्लॉक के साथ एक खतरनाक विधि कहते हैं - अपवादों को पकड़ने के लिए नहीं FileNotFoundException, ...
5 रिशा, कॉल स्टैक को रोल करना, अपवादों में इसे कैसे करना है
- मैं आपको थोड़ा और बताना चाहता हूं कि अपवाद कैसे काम करते हैं। नीचे दिया गया उदाहरण स्पष्ट करता है कि: - मैं समझ नहीं पाया। - ठीक है। मैं समझाता हूँ कि क्या हो रहा है। - बाईं ओर के उदाहरण में, हम श्रृंखला क्रम में कई विधियों को कॉल करते हैं। Method2() में हम विशेष रूप से एक अपवाद (त्रुटि आरंभ करने के लिए) बनाते और फेंकते हैं। - दाईं ओर का उदाहरण दिखाता है कि क्या होता है। विधि 2() देखें । अपवाद का निर्माण इस प्रकार होता है: हम रनटाइम अपवाद प्रकार का एक ऑब्जेक्ट बनाते हैं , इसे एक विशेष चर अपवाद में संग्रहीत करते हैं और तुरंत विधि से बाहर निकलते हैं - वापसी । - मेथड 1 में, मेथड 2 के कॉल के बाद एक चेक है,अगर कोई अपवाद है या नहीं; यदि कोई अपवाद है, तो विधि 1 तुरंत समाप्त हो जाती है। यह जाँच प्रत्येक (!) जावा विधि को कॉल करने के बाद पूरी तरह से की जाती है। - बहुत खूब! - बिल्कुल। - मेन मेथड के दायीं ओर के कॉलम में मैंने लिखा कि क्या होता है जब ट्राई-कैच ब्लॉक द्वारा एक एक्सेप्शन पकड़ा जाता है। यदि कोई अपवाद नहीं था, तो योजना के अनुसार कोड निष्पादित करना जारी रखता है। यदि पकड़ में निर्दिष्ट प्रकार का अपवाद होता है , तो हम इसे संभालते हैं। - और फेंक और उदाहरण का क्या मतलब है? - बाईं ओर की अंतिम पंक्ति को देखें नया रनटाइम अपवाद (ओं) को फेंक दें. इस तरह हम एक अपवाद बनाते और फेंकते हैं। यह सिर्फ एक उदाहरण है। हम इसे अब तक नहीं करेंगे। - सही ब्लॉक में « а exampleof B » कमांड का उपयोग करके हम जांचते हैं कि ऑब्जेक्ट a में टाइप B है या नहीं । यही है, चाहे वेरिएबल एक्सेप्शन में स्टोर की गई वस्तु का प्रकार RuntimeException हो । यह एक तार्किक अभिव्यक्ति है। - ठीक है, यह थोड़ा सा स्पष्ट हो रहा है।6 डिएगो, अपवाद पकड़ने का कार्य
- यहाँ देखो! अंकल डिएगो आपके लिए पकड़ने के लिए कुछ टास्क लेकर आए हैं। आप शुभकामनाएँ। मुझे लगता है कि आपको इसकी आवश्यकता होगी। हे। - अरे, अमीगो! यहां कुछ रोचक अपवाद कैच टास्क दिए गए हैं।पकड़ने के कार्य | |
---|---|
1 | 1. संख्याओं के साथ काम करते समय अपवाद कोड चलाने पर होने वाले अपवाद को पकड़ें: int a = 42 / 0; इसके प्रकार को निर्दिष्ट करते हुए स्क्रीन पर अपवाद प्रदर्शित करें |
2 | 2. स्ट्रिंग के साथ काम करते समय अपवाद उस अपवाद को पकड़ें जो कोड चलाते समय होता है: String s = null; स्ट्रिंग एम = s.toLowerCase (); इसके प्रकार को निर्दिष्ट करते हुए स्क्रीन पर अपवाद प्रदर्शित करें। |
3 | 3. सरणियों के साथ काम करते समय अपवाद उस अपवाद को पकड़ें जो कोड चलाते समय होता है: int[] m = new int[2]; एम [8] = 5; इसके प्रकार को निर्दिष्ट करते हुए स्क्रीन पर अपवाद प्रदर्शित करें। |
4 | 4. सूची संग्रह के साथ काम करते समय अपवाद उस अपवाद को पकड़ें जो कोड चलाने पर होता है: ArrayList<String> list = new ArrayList<String>(); स्ट्रिंग s = list.get(18); इसके प्रकार को निर्दिष्ट करते हुए स्क्रीन पर अपवाद प्रदर्शित करें। |
5 | 5. नक्शा संग्रह के साथ काम करते समय अपवाद उस अपवाद को पकड़ें जो कोड चलाने पर होता है : map.put (शून्य, अशक्त); map.remove (शून्य); इसके प्रकार को निर्दिष्ट करते हुए स्क्रीन पर अपवाद प्रदर्शित करें। |
7 रिशा, मल्टीपल कैच कैसे काम करता है
- अब, कुछ और रोचक व्याख्यान। मुझे पढ़ाना बहुत पसंद है। - मैं आपको बताना चाहता हूं कि मल्टीपल कैच कैसे काम करता है। वास्तव में यह बहुत सरल है: जब ब्लॉक try में एक अपवाद होता है , तो प्रोग्राम निष्पादन को पहले कैच में स्थानांतरित कर दिया जाता है । - यदि ब्लॉक कैच के कोष्ठकों में निर्दिष्ट प्रकार अपवाद-ऑब्जेक्ट के प्रकार के समान है, तो कोड निष्पादन {} के अंदर शुरू होता है। अन्यथा हम अगले कैच पर जाते हैं । वहां चेक दोहराया जाता है। - यदि कोई और कैच ब्लॉक नहीं हैं, लेकिन अपवाद नहीं पकड़ा गया है, तो इसे आगे फेंक दिया गया है, और वर्तमान विधि बाधित हो गई है। - अच्छा ऐसा है। वह कैच निष्पादित किया जाएगा, जिसका प्रकार अपवाद के प्रकार से मेल खाता है। - हाँ सही। दरअसल, यह थोड़ा और जटिल है: मुद्दा यह है कि कक्षाएं एक-दूसरे से विरासत में मिल सकती हैं। यदि "गाय" वर्ग "पशु" वर्ग से विरासत में मिला है, तो "गाय" प्रकार की वस्तु न केवल "गाय" प्रकार के एक चर में संग्रहीत की जा सकती है, बल्कि "पशु" प्रकार के एक चर में भी संग्रहीत की जा सकती है। . - तो क्या हुआ? - चूंकि सभी अपवाद वर्ग अपवाद या रनटाइम अपवाद (जो अपवाद से भी विरासत में मिला है ) से विरासत में मिले हैं, वे सभी कमांड कैच (अपवाद ई) या पकड़ (रनटाइम अपवाद ई) का उपयोग करके पकड़े जा सकते हैं । - तो क्या हुआ? - इस का मतलब है कि,सबसे पहले, आप पकड़ (अपवाद ई) कमांड का उपयोग करके किसी भी अपवाद को पकड़ सकते हैं । दूसरा, कैच ब्लॉक का क्रम मायने रखता है। उदाहरण: - 0 से विभाजन से उत्पन्न अंकगणितीय अपवाद दूसरे कैच में पकड़ा जाता है। - नीचे दिए गए उदाहरण में, ArithmeticException को पहले कैच में पकड़ा गया है , क्योंकि सभी अपवादों की कक्षाएं अपवाद से विरासत में मिली हैं। तो, Exception किसी भी Exception को पकड़ लेता है । - नीचे दिए गए उदाहरण में, अपवाद ArithmeticException पकड़ा नहीं गया है, लेकिन कॉलिंग विधि के लिए आगे फेंक दिया गया है। - ठीक है, अब यह स्पष्ट हो रहा है। ये अपवाद इतने आसान नहीं हैं। - ऐसा ही लगता है। वास्तव में, यह जावा में सबसे सरल चीजों में से एक है। - मुझे संदेह है कि इसके बारे में खुश होना चाहिए या परेशान होना ...8 डिएगो, एकाधिक अपवाद पकड़ कार्य
- अरे, अमीगो! कल मैं नशे में हो गया था और आपके कार्यों को बहुत जटिल बना दिया था, लेकिन मुझे आशा है कि आपकी ओर से कोई कठोर भावना नहीं है और आप उन सभी को हल कर लेंगे? यह आपकी भलाई के लिए है। यहाँ:कार्य | |
---|---|
1 | 1. अपवाद एक विधि है जो अपवाद से विरासत में मिले दो अपवादों को फेंकती है , और अन्य दो RuntimeException से विरासत में मिली है : NullPointerException , ArithmeticException , FileNotFoundException , और URISyntaxException । आपको NullPointerException और FileNotFoundException को पकड़ने की आवश्यकता है , लेकिन ArithmeticException और URISyntaxException को पकड़ने की नहीं । इसे कैसे करना है? |
2 | 2. पकड़ने वाले अपवाद तीन अपवाद हैं जो अपवाद से क्रमिक रूप से विरासत में मिले हैं : वर्ग अपवाद 1 अपवाद का विस्तार करता है वर्ग अपवाद 2 अपवाद 1 का विस्तार करता है वर्ग अपवाद 3 अपवाद 2 का विस्तार करता है एक विधि है, जिसे निम्नानुसार वर्णित किया गया है: सार्वजनिक स्थैतिक शून्य विधि 1 () अपवाद 1, अपवाद 2, अपवाद 3 एक पकड़ लिखें सभी तीन Exception1 , Exception2 और Exception3 को पकड़ने के लिए ब्लॉक करें |
3 | 3. चयनात्मक अपवादों को पकड़ना 1. पता करें कि BEAN.methodThrowExceptions विधि द्वारा कौन से अपवाद फेंके गए हैं । 2. विधि प्रक्रिया अपवाद () को विधि BEAN.methodThrowExceptions को कॉल करना चाहिए और अपवादों को संभालना चाहिए: 2.1। यदि कोई अपवाद FileSystemException होता है, तो विधि BEAN.log को कॉल करके इसे लॉग करें और 2.2 को आगे फेंकें। यदि कोई अपवाद CharConversionException या कोई अन्य IOException होता है, तो बस विधि BEAN.log 3 को कॉल करके इसे लॉग करें। 2.1 में अग्रेषित अपवाद का वर्ग/प्रकार जोड़ें। प्रक्रिया के लिए अपवाद ()विधि हस्ताक्षर। 4. विधि main() में शेष अपवाद को हैंडल करें और इसे लॉग करें। कोशिश करें..कैच टिप का उपयोग करें : यदि आपने अपवाद MyException पकड़ा है , जिसे आप पकड़ना नहीं चाहते हैं, तो आप इसे निम्न कोड का उपयोग करके आगे फेंक सकते हैं: कैच (MyException ई) { फेंक ई; } |
4 | 4. चेक किए गए अपवादों को पकड़ना प्रक्रिया अपवाद () विधि में सभी चेक किए गए अपवादों को संभालें । आपको प्रत्येक चेक किए गए अपवाद को स्क्रीन पर प्रदर्शित करने की आवश्यकता है। आप केवल एक ब्लॉक प्रयास का उपयोग कर सकते हैं । |
5 | 5. अनियंत्रित अपवादों को पकड़ना प्रक्रिया अपवाद () विधि में सभी अनियंत्रित अपवादों को संभालना । आपको PrintStack() विधि का उपयोग करके स्क्रीन पर प्रत्येक अपवाद के स्टैक ट्रेस को प्रदर्शित करने की आवश्यकता है । आप केवल एक ब्लॉक प्रयास का उपयोग कर सकते हैं । |
9 प्रोफेसर, अपवादों पर व्याख्यान
- आज हमारे पास एक अति-दिलचस्प विषय है - अपवाद। उस समय, जब युवा वैज्ञानिक और प्रोग्रामर इस विषय को लेकर बहुत उत्साहित थे... - क्षमा करें, मुझे प्रयोगशाला जाना चाहिए। यहाँ व्याख्यान नोट्स हैं। मुझे लगता है कि आप इसे अपने लिए समझ लेंगे। यहां: जावा एक्सेप्शन (ओरेकल डॉक्यूमेंटेशन) जावा में एक्सेप्शन हैंडलिंग (जावा टी पॉइंट) जावा - एक्सेप्शन हैंडलिंग (ट्यूटोरियल पॉइंट) बेसिक जावा एक्सेप्शन हैंडलिंग10 जूलियो
- अमीगो, आज के पाठ के बारे में आप क्या सोचते हैं? क्या आपका पॉज़िट्रॉन मस्तिष्क अभी तक काम नहीं कर पाया है? डिएगो के कार्य किसी को भी थका देने के लिये काफी हैं। आइए एक बियर पल लें और आराम करें। क्या आप अभी भी खड़े हैं?11 कप्तान गिलहरी
- हैलो, सिपाही! - सुप्रभात सर! - मेरे पास आपके लिए कुछ शानदार खबरें हैं। अपने कौशल को सुदृढ़ करने के लिए यहां एक त्वरित जांच है। इसे हर दिन करें, और आप अपने कौशल में तेजी से वृद्धि करेंगे। कार्य विशेष रूप से Intellij IDEA में करने के लिए डिज़ाइन किए गए हैं।Intellij Idea में करने के लिए अतिरिक्त कार्य | |
---|---|
1 | 1. शून्य से विभाजन एक विधि बनाएँ public static void divisionByZero() , जहाँ आपको किसी भी संख्या को शून्य से विभाजित करने की आवश्यकता है, और विभाजन के परिणाम को स्क्रीन पर प्रदर्शित करें। डिवीजनबायजेरो() विधि कॉल को try..catch में लपेटें । स्क्रीन पर अपवाद स्टैक ट्रेस विधि का उपयोग करके प्रदर्शित करें Exception.printStackTrace() । |
2 | 2. 10 से 0 तक उलटी गिनती 10 से 0 तक उलटी गिनती करने के लिए एक लूप लिखें। देरी करने के लिए थ्रेड.स्लीप (100) का उपयोग करें; स्लीप कॉल को एक कोशिश..कैच में लपेटें । |
3 | 3. एक मेथड को ट्राई..कैच में लपेटें कीबोर्ड से नंबर पढ़ें। कीबोर्ड से संख्याओं को पढ़ने के लिए एक अलग विधि readData() में एक कोड लिखें । इस विधि के पूरे शरीर को लपेटें ( रीडडाटा() विधि के अंदर संपूर्ण कोड , उस सूची की घोषणा को छोड़कर जहां संख्याएं संग्रहीत की जाएंगी) try..catch में । यदि उपयोगकर्ता संख्या दर्ज करने के बजाय कुछ पाठ दर्ज करता है, तो विधि को अपवाद को पकड़ना होगा और स्क्रीन पर पहले दर्ज किए गए सभी नंबरों को प्रदर्शित करना होगा। स्क्रीन पर नंबर प्रदर्शित करें। प्रत्येक संख्या एक नई पंक्ति पर होनी चाहिए। संख्याओं का क्रम वैसा ही होना चाहिए जैसा इनपुट में था। |
4 | 4. दिनांक परिवर्तक कीबोर्ड से दिनांक को «08/18/2013» प्रारूप में पढ़ें, स्क्रीन पर उस दिनांक को «AUG 18, 2013» के रूप में प्रदर्शित करें। ऑब्जेक्ट दिनांक और SimpleDateFormat का उपयोग करें । |
5 | 5. स्वर और व्यंजन एक प्रोग्राम लिखें जो कीबोर्ड से लाइन पढ़ता है। कार्यक्रम को स्क्रीन पर दो तार प्रदर्शित करने चाहिए: 1) पहली स्ट्रिंग में स्वर होने चाहिए 2) दूसरी स्ट्रिंग में दर्ज किए गए पाठ से व्यंजन और विराम चिह्न होने चाहिए। वर्णों को रिक्त स्थान से अलग करें। उदाहरण इनपुट: रोकें, देखें, सुनें, उदाहरण आउटपुट: oooie stplklstn |
6 | 6. लिटिल रेड राइडिंग हूड की कहानी 1. पांच वर्ग हैं: रेड राइडिंग हूड, दादी, पैटी, लकड़हारा, भेड़िया। 2. प्रत्येक वर्ग में ArrayList प्रकार के दो क्षेत्र होते हैं : मारे गए और खाए गए। 3. आवश्यक वस्तुएं पहले ही बनाई जा चुकी हैं (हुड, दादी, ...)। 4. «लिटिल रेड राइडिंग हूड» का तर्क प्राप्त करने के लिए सही संबंध बनाएं (किसने खाया और किसको मार डाला)। |
7 | 7. स्थैतिक संशोधक को स्थानांतरित करें स्थैतिक संशोधक को स्थानांतरित करें ताकि कोड संकलित हो। |
8 | 8. संख्याओं की सरणियों की सूची एक सूची बनाएँ जिसके तत्व संख्याओं की सरणियाँ हों। सूची में क्रमशः 5, 2, 4, 7, 0 लंबाई के साथ पाँच ऑब्जेक्ट सरणियाँ जोड़ें। सरणियों को किसी भी डेटा से भरें और उन्हें स्क्रीन पर प्रदर्शित करें। |
9 | 9. दस बिल्लियाँ एक वर्ग बनाएँ बिल्ली एक क्षेत्र के साथ स्ट्रिंग नाम । एक शब्दकोश नक्शा<स्ट्रिंग, कैट> बनाएं , «नाम» - «बिल्ली» मॉडल पर 10 बिल्लियों को जोड़ें। मानचित्र से नामों का एक सेट प्राप्त करें और सेट को स्क्रीन पर प्रदर्शित करें। |
बोनस कार्य | |
---|---|
1 | 1. प्रोग्राम कंपाइल और रन नहीं करता है। इसे ठीक करें। कार्य: प्रोग्राम को कीबोर्ड से दो फ़ाइल नामों को पढ़ना चाहिए और पहली फ़ाइल को दूसरे नाम से निर्दिष्ट स्थान पर कॉपी करना चाहिए। |
2 | 2. प्रोग्राम में नई कार्यक्षमता जोड़ें। पुराना कार्य: प्रोग्राम को कीबोर्ड से दो फ़ाइल नामों को पढ़ना चाहिए और पहली फ़ाइल को दूसरे नाम से निर्दिष्ट स्थान पर कॉपी करना चाहिए। नया कार्य: प्रोग्राम को कीबोर्ड से दो फ़ाइल नामों को पढ़ना चाहिए और पहली फ़ाइल को दूसरे नाम से निर्दिष्ट स्थान पर कॉपी करना चाहिए। यदि निर्दिष्ट नाम वाली फ़ाइल (जिसे कॉपी किया जा रहा है) मौजूद नहीं है, तो प्रोग्राम को स्क्रीन पर "फ़ाइल मौजूद नहीं है" संदेश प्रदर्शित करना चाहिए और फ़ाइल नाम को पढ़ने से पहले कंसोल से फ़ाइल नाम को एक बार फिर से पढ़ने का प्रयास करना चाहिए दूसरी (गंतव्य) फ़ाइल का नाम। |
3 | 3. एल्गोरिदम सीखना और अभ्यास करना। कीबोर्ड से शब्दों और संख्याओं की सूची पढ़ें। स्क्रीन पर शब्दों को आरोही क्रम में और संख्याओं को अवरोही क्रम में प्रदर्शित करें। उदाहरण इनपुट: चेरी 1 बीन 3 सेब 2 0 तरबूज उदाहरण आउटपुट: सेब 3 बीन 2 चेरी 1 0 तरबूज |
GO TO FULL VERSION