CodeGym /جاوا بلاگ /Random-SD /پراڻي سطح 09
John Squirrels
سطح
San Francisco

پراڻي سطح 09

گروپ ۾ شايع ٿيل

علم بمقابله مهارت

پراڻي سطح 09 - 1ڪاليج اسان کي سيکاريو ته نظريي ۽ عمل ۾ ڪو وڏو فرق ناهي. يقينن، توهان سمجهي رهيا آهيو ته اهو ساڳيو ناهي. پر توهان بنيادي فرق نه ٿا ڏسو. اڃان تائين هڪ آهي. گھڻا ماڻھو برابري جي نشاني رکن ٿا "مان ڄاڻان ٿو" ۽ "مان ڪريان ٿو" جي وچ ۾. ڇا ٿوهان؟ ڪجھ مثالن بابت ڪيئن؟
  1. مون کي خبر آهي ته سگريٽ نوشي منهنجي لاءِ خراب آهي، پر مان تماڪ پيئندو آهيان.
  2. مون کي خبر آهي ته فاسٽ فوڊ مون لاءِ خراب آهي، پر مان ان کي کائيندو آهيان.
  3. مون کي ٽرئفڪ جي ضابطن جي خبر آهي پر مان ڊرائيو نه ٿو ڪري سگهان.
  4. مان ڄاڻان ٿو جاگنگ منهنجي لاءِ سٺي آهي پر مان صبح جو جاگنگ نه ڪندو آهيان.
اهو اڪثر ٿئي ٿو ته ماڻهو وٺن ٿا "مان ڄاڻان ٿو" لاء "مان ڪري سگهان ٿو". اھو ھڪڙو سٺو مثال آھي ٽرئفڪ جي ضابطن سان. جيڪڏهن ڪو ماڻهو قاعدن کي ڄاڻي ٿو ۽ ڄاڻي ٿو، ڪيئن هلائڻ، ڇا ان جو مطلب آهي ته هو ڊرائيو ڪري سگهي ٿو؟ نه. ڇا جيڪڏهن هو سوچي ٿو ته هو ڄاڻي ٿو ته ڪيئن هلائڻ؟ پوءِ ڇو هن کي هڪ استاد جي ضرورت پوندي - هو اڳ ۾ ئي سڀ ڪجهه ڄاڻي ٿو. جڏهن توهان کي پڪ آهي ته توهان پهريان ئي سڀ ڪجهه ڄاڻو ٿا ته توهان شايد ڪجهه نئين نه سکندا. ۽ جيڪڏهن توهان کي پڪ آهي ته توهان ڄاڻو ٿا ته سڀ ڪجهه ڪيئن ڪجي، توهان نه پڙهندا. اهڙو خيال به توهان جي ذهن کي پار نه ڪندو. ۽ ان جو مطلب آهي ته توهان ڪجهه سکڻ جا تمام شاندار موقعا وڃائي ويهندا. عام ڪاليج صرف توهان کي علم ڏئي ٿو؛ توهان کي پنهنجو پاڻ تي مهارت حاصل ڪرڻو پوندو. پر مان ڇا ٻڌايان؟ توهان پنهنجي ڪاليج ۾ نظريي کان علاوه مشق ڪيو آهي؟ ٺيڪ آهي، جيڪڏهن توهان فزڪس فيڪلٽي تي اڀياس ڪيو آهي ، گهٽ ۾ گهٽ 20٪ جي ڪارڪردگي سان ٻاڦ واري انجڻ جو ڪم ڪندڙ ماڊل ٺاهيو. مان شرط ڪريان ٿو ته توهان کي خبر آهي ته اهو ڪيئن ڪجي، پر توهان اصل ۾ اهو ڪرڻ جي قابل نه هوندا، ڇا مان صحيح آهيان؟ ڇا توهان ڪيمسٽ آهيو ؟ بنا دونھون پائوڊر. توهان کي خبر آهي ته ڪيئن، پر توهان نٿا ڪري سگهو، ها؟ رياضي دان، تون آهين؟ آرٽلري شيل جي پيچري جو حساب ڪريو. اڪائونٽ ۾ شيل جي شڪل وٺڻ نه وساريو. رياضياتي نقطا حقيقي زندگي ۾ نه اڏامي. ۽ ڪو به گول گھوڙا نه آهن. پراڻي سطح 09 - 2حياتياتي؟ پينسلين کي الڳ ڪريو. هي ٺهيل خربوز تي وڌندو آهي، تنهنڪري توهان کي خبر آهي. توهان کي خبر آهي ته ڪيئن - شاندار! ڇا تون ڪري سگھين ٿو؟ اقتصاديات؟ تيل تي قيمت وڌڻ جي اڳڪٿي ڪريو. ٿي ويو؟ ۽ هاڻي ان کي تبديل ڪريو $2,000 يا $200,000 هڪ سال ۾ توهان جي اڳڪٿي جي بنياد تي. ڇا توهان ڪڏهن فاریکس تي راند ڪيو آهي؟ حقيقي پئسا لاء؟ يا توهان کي خبر آهي ته اهو ڇا آهي؟ بين الاقوامي اقتصاديات؟ شاندار! مان هڪ آف شور ڪمپني ڪٿي کوليان؟ هانگ ڪانگ، آئرلينڊ يا آمريڪا ۾. ڇو؟ جيتوڻيڪ توهان کي خبر آهي ته، جنهن ۾ شڪ آهي، توهان شايد اهو ڪرڻ جي قابل نه هوندا، ڇو ته توهان ڪڏهن به اهو نه ڪيو آهي. توهان کي ٿورو به سمجهه ۾ نه آهي ته اهو ڪيئن ڪجي. او، توهان اهو ڪاليج ۾ نه پڙهيو آهي؟ مون کي ڪهڙو حق آهي ته توکي ڏيان جن لاءِ تون تيار نه آهين؟ ڇاڪاڻ ته اهي حقيقي زندگي جا ڪم آهن. هي IS مشق ، جيڪو توهان ڪاليج ۾ پڙهيو آهي اهو آهي: گول گھوڙا، ڀرپور مقابلو - حقيقي زندگي ۾ ان مان ڪوبه موجود ناهي. پر مان مارڪيٽنگ ماهرن جو ذڪر ڪرڻ ڇو وساري چڪو آهيان ؟ منهنجو $500 خرچ ڪرڻ جو بهترين طريقو ڪهڙو آهي ته جيئن تمام گهڻا ماڻهو منهنجي ليڪچرن بابت ڄاڻن؟ اشتهارن تي؟ ڇا توهان کي خبر آهي ته نه رڳو ڪلاسڪ اشتهار اڳ ۾ ئي پراڻو آهي، پر USP جو تصور پڻ (منفرد وڪرو پروپوزل)، جنهن جي مون کي پڪ آهي ته توهان کي ڪاليج ۾ سيکاريو ويو هو تقريبن منفرد علاج. وساريو ته ڪجھ به ڄاڻو. پنهنجو پاڻ کان پڇو - مان ڇا ڪري سگهان ٿو؟ مفيد، منهنجو مطلب؟ ڪجهه ماڻهون لاءِ پئسا ڏيندا؟ سٺو پئسا، منهنجو مطلب آهي؟ سو دوستو، اچو ته شڪر گذار آهيون اهڙي شاندار ڪورس لاءِ CodeGym. ان جي ڪري توهان کي نه صرف خبر پوندي ته ڪيئن پروگرام ڪجي، پر توهان اصل ۾ اهو ڪري سگهندا. توهان پڻ نوڪري حاصل ڪرڻ جي قابل ٿي ويندا ۽ ڪجهه سالن ۾ سٺو پئسا ڪمائي سگهندا. مون کي اميد آهي ته هي پئسا سٺي ۽ آرام سان رهڻ لاءِ ڪافي هوندا. مان ان کي هڪ ڀيرو ٻيهر چوندس، تنهنڪري توهان کي ياد آهي: اهو مسئلو ناهي ته توهان ڇا ڄاڻو ٿا. صرف هڪ شيءِ جو معاملو آهي ته توهان وٽ ڪهڙيون ڪارائتيون صلاحيتون آهن، جيڪي ماڻهو توهان کي ادا ڪرڻ جا خواهشمند هوندا. جيترو جلدي توهان هن کي سمجهي، بهتر.

توهان هڪ نئين سطح تي پهچي ويا آهيو

سطح 9

پراڻي سطح 09 - 3

1 ريشا، اسٽيڪ جو نشان

پراڻي سطح 09 - 4- اي! اڄ مان توهان کي ٻڌايان ٿو ته اسٽيڪ ٽريس ڇا آهي. پر پهرين مون کي توهان کي وضاحت ڪرڻ ڏيو ته اسٽيڪ ڇا آهي. - تصور ڪريو ڪاغذن جي اسٽيڪ - ھڪڙي خاص ڪلرڪ لاءِ تفويض. هڪ نئين اسائنمينٽ کي اسٽيڪ جي چوٽي تي رکي سگهجي ٿو، ۽ هو اسٽيڪ جي چوٽي کان هڪ اسائنمينٽ وٺندو. اهڙيء طرح، تفويض پهرين اچڻ تي نه ڪيو ويندو. هر دفعي ڪلارڪ اهو ڪم وٺي ٿو جيڪو آخري اچي ٿو. مجموعي جي اهڙي جوڙجڪ کي اسٽيڪ سڏيو ويندو آهي . - جاوا ۾، اتي ھڪڙو خاص مجموعو آھي - اسٽيڪ. هن مجموعن ۾ طريقا آهن "هڪ عنصر شامل ڪريو" ۽ "وٺو (حاصل/وڃڻ) هڪ عنصر". جيئن توهان اڳ ۾ ئي ڄاڻو ٿا، شامل ڪيل آخري عنصر پهريون ڀيرو ورتو ويندو. - هوم. اهو ڏکيو ناهي، مان سمجهان ٿو. - چڱو. پوء مون کي وضاحت ڪرڻ ڏيو ته اسٽيڪ ٽريس ڇا آهي. - تصور ڪريو ته جاوا فنڪشن ۾ А ڪال ڪري ٿو فنڪشن B ، ۽ بعد ۾ ڪال ڪري ٿو فنڪشن C ، جيڪو ان جي بدلي ۾، فنڪشن ڊي کي سڏي ٿو . تنهن ڪري، فنڪشن B مان نڪرڻ لاء ، توهان کي پهريان کان ٻاهر نڪرڻو پوندو فنڪشن C ، ۽ ائين ڪرڻ لاء توهان کي فنڪشن ڊي مان نڪرڻو پوندو . اهو تمام گهڻو هڪ اسٽيڪ سان ملندڙ جلندڙ آهي. - ۽ هڪجهڙائي ڇا آهي؟ - اسٽيڪ ۾، هڪ خاص اسائنمينٽ حاصل ڪرڻ لاءِ، توهان کي به مٿي تي رکيل سموريون اسائنمنٽس کي مڪمل ڪرڻو پوندو. - خير، اهو هڪ قياس آهي، پر مون کي پڪ ناهي ته آئون سڀ ڪجهه صحيح سمجهي سگهان ٿو. - هتي ڏسو. جاوا ۾ هڪ اسٽيڪ عناصر جو هڪ سيٽ آهي. اهو هڪ اسٽيڪ ۾ ڪاغذ جي چادر وانگر آهي. مٿي کان ٽيون وٺڻ لاء، توهان کي ٻيو چادر وٺڻ گهرجي، پر ان کان اڳ توهان کي پهرين وٺڻ گهرجي. توھان ھميشه چادر رکي سگھو ٿا ۽ وٺي سگھو ٿا، پر توھان انھن کي صرف مٿي تي رکي سگھو ٿا ۽ صرف مٿي کان وٺي سگھو ٿا. ساڳيو فعل ڪال تي لاڳو ٿئي ٿو. فنڪشن A ڪال فنڪشن B ، بعد ۾ ڪال فنڪشن C. А مان نڪرڻ لاءِ ، توهان کي پهريان B مان نڪرڻو پوندو ، ۽ ائين ڪرڻ لاءِ توهان کي C مان نڪرڻو پوندو . - هڪ منٽ ترسو. جيڪڏهن مون اهو صحيح سمجهيو، ته سڄو اسٽيڪ "صرف آخري شيٽ جيڪا اسٽيڪ تي رکيل هئي، ڪڍي سگهجي ٿي" ۽ "پهريون، آخري سڏيو ويندو فعل نڪرڻ گهرجي". ڇا ائين آهي؟ - ها. تنهن ڪري، فنڪشن ڪالن جو سلسلو "فنڪشن ڪال اسٽيڪ"، يا صرف "ڪال اسٽيڪ" آهي. فنڪشن کي آخري سڏيو وڃي پهريان ختم ڪيو وڃي. اچو ته مثال ڏسو: پراڻي سطح 09 - 5- ٺيڪ. فنڪشن ڪال سان سڀ ڪجهه واضح آهي، مان سمجهان ٿو. پر هي StackTraceElement ڇا آهي ؟ - جاوا ورچوئل مشين سڀني فنڪشن ڪالن کي لاگ ان ڪري ٿي. ھن مقصد لاء اھو ھڪڙو خاص مجموعو آھي - اسٽيڪ. جڏهن هڪ فنڪشن ٻئي کي سڏي ٿو، JVM هڪ نئون عنصر رکي ٿو StackTraceElementهن اسٽيڪ ۾. جڏهن فنڪشن ختم ٿئي ٿي، عنصر کي اسٽيڪ مان ختم ڪيو ويو آهي. اهڙيء طرح، هي اسٽيڪ هميشه "فنڪشن ڪال اسٽيڪ" جي موجوده حالت بابت تازه ترين معلومات کي ذخيرو ڪري ٿو. - هر StackTraceElement ۾ ڄاڻايل طريقي بابت معلومات شامل آهي. تنهن ڪري توهان حاصل ڪري سگهو ٿا هن طريقي جو نالو استعمال ڪندي getMethodName . - مٿي ڏنل مثال ڏيکاري ٿو:
  1. حاصل ڪريو "ڪال اسٽيڪ":
  2. هر هڪ لاءِ لوپ استعمال ڪندي صف کي ٻيهر ورجايو . مون کي اميد آهي ته توهان ان کي نه وساريو آهي.
  3. System.out تي طريقن جا نالا پرنٽ ڪريو .
- هڪ دلچسپ شيء، ۽ apparently آسان. مهرباني، ريشا!

2 ڊيوگو، اسٽيڪ ٽريس ڊسپلي تي ٽاسڪ

- اي، اميگو! ھتي ھڪڙو ننڍڙو ڪم آھي اسڪرين ڏانھن ڊسپلي ڪرڻ لاء ھڪڙو اسٽيڪ ٽريڪ.
ڪم
1 هر طريقي کي واپس ڪرڻ گهرجي StackTrace
لکو پنج طريقا جيڪي هڪ ٻئي کي سڏين ٿا. هر طريقو پنهنجي StackTrace کي واپس ڪرڻ گهرجي.
2 StackTrace ٻيهر
لکو پنج طريقا جيڪي هڪ ٻئي کي سڏين ٿا. هر طريقي کي پنهنجي ڪالر جي طريقي جو نالو واپس ڪرڻ گهرجي. توهان حاصل ڪري سگهو ٿا ڪالر جو طريقو استعمال ڪندي StackTrace.
3 طريقو کي ڪوڊ جو لائن نمبر واپس ڪرڻ گهرجي، هي طريقو
پنج طريقن سان سڏيو ويو آهي جيڪو هڪ ٻئي کي سڏيندو آهي. هر طريقي کي واپس ڪرڻ گهرجي ڪوڊ جو لائن نمبر جيڪو هن طريقي سان سڏيو ويو هو. فنڪشن استعمال ڪريو element.getLineNumber() .
4 10 ڪالن جو اسٽيڪ ٽريس
10 ڪالن جو اسٽيڪ ٽريس حاصل ڪرڻ لاءِ ڪوڊ لکو.
5 طريقي کي نتيجو موٽڻ گهرجي - ان جي اسٽيڪ ٽريڪ ڊيپٿ
هڪ طريقو لکو جيڪو ڏيکاري ٿو ۽ واپس ڪري ٿو ان جي اسٽيڪ ٽريڪ ڊيپٿ. اسٽيڪ ٽريس جي کوٽائي ان جي طريقن جو تعداد آهي (فهرست ۾ عناصر جو تعداد).

3 ايلي، غلطيون ۽ استثنا

- اي، اميگو! اڄ اسان وٽ هڪ تمام دلچسپ سبق آهي. مان توهان کي استثنا بابت ٻڌايان ٿو. استثنا پروگرام ۾ غلطين کي ڪنٽرول ڪرڻ لاء هڪ خاص ميڪانيزم آهي. هتي غلطين جا ڪجهه مثال آهن جيڪي پروگرام ۾ ٿي سگهن ٿيون:
  1. پروگرام مڪمل ڊسڪ تي فائل لکڻ جي ڪوشش ڪري ٿو.
  2. پروگرام ڪوشش ڪري ٿو سڏڻ جو طريقو هڪ متغير جو جيڪو ذخيرو ڪري ٿو نول ريفرنس.
  3. پروگرام ڪوشش ڪري ٿو ھڪڙي نمبر کي 0 سان ورهائڻ جي.
انهن عملن جي نتيجي ۾ هڪ غلطي آهي. عام طور تي، هي هڪ پروگرام جي بندش جي طرف وٺي ٿو - ڪوڊ تي عمل ڪرڻ جاري رکڻ لاء ڪو به نقطو ناهي. - اهو ڇو آهي؟ - جڏهن ڪار ڪلف تان ڪري رهي آهي ته ڦيٿي کي ڦيرائڻ جو ڪو احساس آهي؟ - ڇا توھان جو مطلب آھي پروگرام ختم ٿيڻ گھرجي؟ - ها. اڳي ائين ئي هو. ڪنهن به غلطي جي نتيجي ۾ پروگرام کي ختم ڪيو ويو. - اهو هڪ تمام هوشيار فيصلو آهي. - اهو بهتر نه ٿيندو ته ڪم ڪرڻ جي ڪوشش ڪئي وڃي؟ - ها. توھان MS Word ۾ ھڪڙو وڏو ٽيڪسٽ ٽائيپ ڪيو آھي، ان کي محفوظ ڪيو آھي، اھو محفوظ نه ڪيو ويو آھي، پر پروگرام توھان کي ٻڌائي ٿو ته سڀ ڪجھ ٺيڪ آھي. ۽ توهان ٽائپنگ جاري رکو. بيوقوف، اهو ناهي؟ - ها. - پوء پروگرامر هڪ دلچسپ حرڪت سان گڏ آيا: هر فنڪشن پنهنجي ڪم جي حيثيت واپس ڪئي. 0 جو مطلب آهي ته فنڪشن ڪم ڪيو جيئن اهو سمجهيو ويو هو، ڪنهن ٻئي قدر - ته اتي هڪ غلطي هئي : هي قدر هڪ غلطي ڪوڊ هو. - پر هن طريقي جو هڪ نقصان هو. هر (!) فنڪشن ڪال کان پوءِ توهان کي چيڪ ڪرڻو پوندو ڪوڊ (نمبر) فنڪشن طرفان موٽايو ويو. پهرين، اها تڪليف هئي: غلطي سنڀالڻ وارو ڪوڊ گهٽ ۾ گهٽ ڪيو ويو، پر توهان کي هميشه اهو لکڻو پوندو. ٻيو، فنڪشن پاڻ اڪثر ڪري مختلف قدر واپس آڻيندا آهن - انهن سان ڇا ڪجي؟ - ها. اهو ئي مون کان پڇڻ وارو هو. - پوءِ هڪ روشن مستقبل آيو - استثنا ۽ غلطي سنڀالڻ ظاهر ٿيو. هتي اهو ڪيئن ڪم ڪري ٿو:
  1. جڏهن هڪ غلطي ٿئي ٿي، جاوا ورچوئل مشين هڪ خاص اعتراض ٺاهي ٿي - هڪ استثنا - جنهن ۾ غلطي بابت سموري معلومات شامل آهي. مختلف غلطين لاء مختلف استثنا آهن.
  2. پوء هي استثنا پروگرام کي طاقت ڏئي ٿو ته فوري طور تي موجوده فنڪشن کي مداخلت ڪري، ۽ ايندڙ فنڪشن، جيستائين اهو مکيه طريقي کان ٻاهر نه نڪري. ان کان پوء پروگرام ختم ٿي ويندو. جاوا ڊولپرز هن عمل کي سڏي ٿو "ڪال اسٽيڪ کي واپس ڪري ٿو".
- پر توهان چيو آهي ته پروگرام پڪ سان نڪرڻ وارو ناهي. - اھو صحيح آھي، ڇو ته ھڪڙو طريقو آھي استثنا کي پڪڙڻ لاء. جڏهن به ۽ جتي به توهان کي ضرورت هجي، توهان انهن استثنا کي پڪڙڻ ۽ ڪجهه اهم ڪم ڪرڻ لاءِ هڪ خاص ڪوڊ لکي سگهو ٿا. - هن کي ڪرڻ لاء، اتي هڪ خاص تعميراتي ڪوشش آهي پڪڙي . ڏسو اهو ڪيئن ڪم ڪري ٿو: پراڻي سطح 09 - 6- ڇو «طريقه1 ڪالنگ کان پوءِ. ڪڏهن به نه ڏيکاريو ويندو» اسڪرين تي ظاهر نه ڪيو ويندو؟ - مون کي خوشي آهي ته توهان ان بابت پڇيو. لڪير 25 ۾، صفر طرفان هڪ ڊويزن آهي. هي هڪ غلطي ڏانهن وٺي ٿو - هڪ استثنا. جاوا ورچوئل مشين ٺاھيو آبجیکٹ ArithmeticException جنهن ۾ غلطي جي معلومات شامل آھي. هي اعتراض هڪ استثنا آهي. - هڪ استثنا اندر اندر ٿي ويو طريقو method1() . اهو طريقو فوري طور تي ختم ٿيڻ جي نتيجي ۾. اهو پڻ مکيه طريقي جي ختم ٿيڻ جو سبب بڻجندو ، جيڪڏهن ڪو ڪوشش-ڪيچ بلاڪ نه هجي. - جيڪڏهن ڪو استثنا اچي ٿو ڪوشش بلاڪ جي اندر، اهو پڪڙيو ويندو پڪڙي بلاڪ ۾. بلاڪ جي ڪوشش ۾ باقي ڪوڊ تي عمل نه ڪيو ويندو، بلاڪ ڪيچ جي عمل کي فوري طور تي شروع ڪيو ويندو. - مان بلڪل نه ٿو سمجھان. - ٻين لفظن ۾، هي ڪوڊ هن طرح ڪم ڪري ٿو:
  1. جيڪڏهن ڪو استثنا ٿئي ٿو ڪوشش بلاڪ جي اندر، هن بلاڪ ۾ ڪوڊ وڌيڪ عمل نه ڪيو ويندو، پر بلاڪ جي ڪيچ جي عمل شروع ٿيندي.
  2. جيڪڏهن ڪو به استثنا نه ٿيو، ڪوشش بلاڪ تي عمل ڪيو ويندو آهي آخر تائين ، ۽ ڪيچ ڪڏهن به عمل نه ڪيو ويندو آهي .
- آهم! - تصور ڪريو ته هر ميٿڊ ڪال کان پوءِ اسان چيڪ ڪريون ٿا ته ميٿڊ پاڻ کي ختم ڪيو ويو آهي يا استثنا جي ڪري. جيڪڏهن ڪو استثنا هو، JVM بلاڪ ڪيچ تي عمل ڪرڻ شروع ڪري ٿو جيڪڏهن اهو دستياب آهي، ۽ هڪ استثنا کي پڪڙي ٿو. جيڪڏهن ڪو پڪڙڻ وارو بلاڪ ناهي، JVM موجوده طريقي کي ختم ڪري ٿو. پوءِ ساڳيو چيڪ شروع ٿئي ٿو طريقي سان جنهن کي موجوده طريقو سڏيو وڃي ٿو. - هاڻي مان سمجهان ٿو ته مون کي حاصل ڪيو. - اهو ٺيڪ آهي. - ۽ ڪيچ بلاڪ جي اندر اهو استثنا ڇا آهي؟ - سڀئي استثنا ڪلاس استثنا مان ورثي ۾ مليا آهن. اسان انھن مان ڪنھن کي به پڪڙي سگھون ٿا ان جي ڪلاس کي ڪيچ بلاڪ ۾ بيان ڪندي ، يا انھن سڀني کي ھڪڙي وقت ھڪڙي عام والدين طبقي استثنا بيان ڪندي. پوء، متغير کان e (هي متغير هڪ استثنا اعتراض جي حوالي سان ذخيرو ڪري ٿو) توهان حاصل ڪري سگهو ٿا تمام ضروري معلومات غلطي بابت. - زبردست! ۽ ڇا جيڪڏھن منھنجي طريقي ۾ مختلف استثنا ٿين ٿا، ڇا مان انھن کي مختلف طريقن سان سنڀالي سگھان ٿو؟ - توهان کي ڪرڻو آهي. توھان ھن طرح ڪري سگھو ٿا: پراڻي سطح 09 - 7- ڪوشش واري بلاڪ ۾ ڪيترائي ڪيچ بلاڪ شامل ٿي سگھن ٿا، جن مان ھر ھڪ پنھنجي قسم جي استثنا کي پڪڙيندو. - امف. چڱو، مون کي اهو مليو. يقينن، مان پاڻ اهڙو ڪجهه نه لکندس. تنهن هوندي، مون کي ڊپ نه ٿيندو جيڪڏهن آئون اهڙي ڪوڊ سان ملن.

4 ايلي، رن ٽائم استثنا، اڇلائي

پراڻي سطح 09 - 8- مون اڄ هڪ ٻيو موضوع آڻڻ جو فيصلو ڪيو. جاوا ۾، سڀئي استثنا ٻن قسمن ۾ ورهايل آھن - ڪنٽرول ٿيل / چيڪ ٿيل ۽ غير ڪنٽرول ٿيل / اڻ چيڪ ٿيل . چيڪ ٿيل استثنا ضرور پڪڙيو وڃي، اڻ چيڪ ٿيل پڪڙي سگهجي ٿو پر اهو گهربل ناهي . - ڇا اهو ممڪن آهي ته هڪ ڪوڊ ۾ استثناء کي مقصد تي اڇلائي؟ - توهان جي ڪوڊ ۾، توهان پنهنجو پاڻ کي استثنا اڇلائي سگهو ٿا. توھان پڻ پنھنجو استثنا لکي سگھو ٿا. پر اسان بعد ۾ هن سوراخ ۾ گهيرو ڪنداسين. ھاڻي اچو ته سکو ته ڪيئن ڪم ڪجي جاوا ورچوئل مشين پاران ڏنل استثنا سان. - ٺيڪ. - جيڪڏهن استثنا ClassNotFoundException ۽ FileNotFoundException هڪ طريقي ۾ اڇلايا ويا (ظاهر)، پروگرامر کي انهن کي هڪ طريقي جي دستخط ۾ بيان ڪرڻو پوندو (طريقو هيڊر). اهڙا استثنا چيڪ ڪيا ويا آهن. اھو اھو آھي جيڪو عام طور تي ڏسڻ ۾ اچي ٿو: پراڻي سطح 09 - 9- تنھنڪري، اسان صرف لکندا آھيون اڇلائي ۽ فهرست استثناء کي ڪاما سان الڳ ڪري. ساڄو؟ ڇا ائين آهي؟ - ها. پر اتي هڪ ٻي دلچسپ شيء آهي. هيٺ ڏنل مثال کي ترتيب ڏيڻ لاء، طريقو جيڪو طريقو 1 () سڏيندو آهي يا ته انهن استثنا کي پڪڙڻ يا انهن کي اڳتي وڌائڻ لاء. جيڪڏھن توھان چاھيو ٿا چيڪ ٿيل استثنا اڳتي وڌايو توھان کي ان کي بيان ڪرڻ جي ضرورت آھي طريقي جي ھيڊر ۾ . - هڪ دفعو ٻيهر، جيڪڏهن مکيه طريقي سان، توهان هڪ طريقي کي سڏڻ چاهيو ٿا جيڪو هن جي هيڊر جملي ۾ اڇلائي ٿو FileNotFoundException، ... پوء توهان کي انهن ٻن شين مان هڪ ڪرڻو پوندو:
  1. استثنا کي پڪڙڻ لاءِ FileNotFoundException، ...
    توهان کي ڪوڊ لپيٽڻو پوندو جتي توهان هڪ خطرناڪ طريقي کي ڪال ڪريو ڪوشش-ڪيچ بلاڪ سان
  2. استثنا نه پڪڙڻ لاءِ FileNotFoundException، ...
توھان کي اھي استثنا شامل ڪرڻا پوندا پنھنجي ميٿڊ مين جي اڇلائي لسٽ ۾ . - تون مون کي هڪ مثال ڏيندو؟ - هتي ڏسو: - هي مثال مرتب نه ڪيو ويندو، ڇاڪاڻ ته ميٿڊ مين ميٿڊ ميٿڊ 1 () کي سڏي ٿو، جيڪو استثنا ڏئي ٿو، جن کي پڪڙڻ گهرجي. - ترتيب ڏيڻ لاءِ مثال مرتب ڪيو ويو آهي، توهان کي استثنيٰ هينڊلنگ شامل ڪرڻ جي ضرورت آهي مکيه طريقي سان . توھان ھي ٻن طريقن سان ڪري سگھو ٿا: - ۽ ھتي اسان ان کي استعمال ڪندي پڪڙيندا آھيون try-catch : - اھو صاف ٿي رھيو آھي، پر تمام ٿورا. - ھيٺ ڏنل مثال ۾ ڏسو: - اڃا به ھڪڙو استثنا آھي - RuntimeException ۽ ڪلاس ان مان ورثي ۾ مليا آھن. ان کي پڪڙڻ يا اڇلائڻ جي ضرورت ناهي. اهي اڻ چيڪ ٿيل استثنا آهن. انهن استثنان کي پيش گوئي ڪرڻ ڏکيو سمجهيو ويندو آهي، تنهنڪري انهن جي موجودگي جي اڳڪٿي ڪرڻ لڳ ڀڳ ناممڪن آهي. توهان انهن سان ساڳيون شيون ڪري سگهو ٿا، پر انهن کي اڇلائڻ ۾ وضاحت ڪرڻ جي ڪا ضرورت ناهي . پراڻي سطح 09 - 10پراڻي سطح 09 - 11پراڻي سطح 09 - 12پراڻي سطح 09 - 13

5 ريشا، ڪال اسٽيڪ کي رولنگ، استثناء ۾ ڪيئن ڪجي

- مان توھان کي ٿورو وڌيڪ ٻڌائڻ چاھيان ٿو ته استثنا ڪيئن ڪم ڪن ٿا. هيٺ ڏنل مثال بيان ڪري ٿو ته: پراڻي سطح 09 - 14- مون کي اهو نٿو ملي. - ٺيڪ. مان وضاحت ڪندس ته ڇا ٿي رهيو آهي. - کاٻي پاسي جي مثال ۾، اسان ڪيترن ئي طريقن کي زنجير جي ترتيب ۾ سڏيندا آهيون. طريقو 2 () ۾ اسان خاص طور تي ٺاهيو ۽ هڪ استثنا اڇلايو (غلطي شروع ڪرڻ لاءِ). - ساڄي پاسي جو مثال ڏيکاري ٿو ته ڇا ٿئي. طريقو 2 () کي ڏسو . اھو اھو آھي جيڪو ھڪڙي استثناء جي تخليق ۾ تبديل ٿئي ٿو: اسان RuntimeException قسم جو ھڪڙو اعتراض ٺاھيو آھي ، ان کي ھڪڙي خاص متغير استثنا ۾ ذخيرو ڪريو ۽ فوري طور تي طريقو کان ٻاھر نڪري وڃو - واپسي . - طريقو 1 ۾ ، ميٿڊ 2 جي ڪال کان پوءِ اتي هڪ چيڪ آهي، جيڪڏهن ڪو استثنا آهي يا نه؛ جيڪڏهن ڪو استثنا آهي، پوء طريقو 1 فوري طور تي ختم ٿي ويندو. هي چيڪ مڪمل طور تي هر (!) جاوا طريقي کي سڏڻ کان پوءِ ڪيو ويندو آهي. - واهه! - بلڪل. - ميٿڊ مين ۾ ساڄي پاسي واري ڪالم ۾ مون لکيو ته ڇا ٿيندو جڏهن ڪو استثنا ڪوشش-ڪيچ بلاڪ طرفان پڪڙيو وڃي. جيڪڏهن ڪو به استثنا نه هو، ڪوڊ جاري رهي ٿو صرف منصوبابندي جي طور تي. جيڪڏهن ڪيچ ۾ بيان ڪيل قسم جي استثنا هئي ، ته پوء اسان ان کي سنڀاليندا آهيون. - ۽ اڇلائڻ ۽ مثال جو مطلب ڇا آهي؟ - کاٻي پاسي واري آخري لائين تي ڏسو نئون RuntimeException(s) اڇلايو . هن طريقي سان اسان هڪ استثنا ٺاهي ۽ اڇليندا آهيون. هي صرف هڪ مثال آهي. اسان ايترو پري نه ڪنداسين. - ساڄي بلاڪ ۾ ڪمانڊ « a instanceof B » استعمال ڪندي اسان چيڪ ڪريون ٿا ته ڇا اعتراض a ۾ B قسم آهي . اهو آهي، ڇا اهو اعتراض متغير استثنا ۾ ذخيرو ٿيل آهي، ان جو قسم آهي RuntimeException . اهو هڪ منطقي اظهار آهي. - خير، اهو ٿورڙو صاف ٿي رهيو آهي.

6 ڊيوگو، استثنا پڪڙڻ جو ڪم

- هتي ڏس! چاچا ڊيوگو توهان لاءِ پڪڙڻ تي ڪجهه ڪم کڻي آيو آهي. توهان جي قسمت جي خواهش. مان سمجهان ٿو ته توهان کي ان جي ضرورت پوندي. هِي. پراڻي سطح 09 - 15- اي، اميگو! هتي ڪجهه دلچسپ استثنا پڪڙڻ وارا ڪم آهن.
پڪڙڻ جا ڪم
1 1. استثنا جڏهن انگن سان ڪم ڪري رهيو آهي
استثنا کي پڪڙيو جيڪو تڏهن ٿئي ٿو جڏهن ڪوڊ هلايو:
int a = 42 / 0؛
اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي
2 2. استثنيٰ جڏهن اسٽرنگ سان ڪم ڪري رهيو آهي
ته استثنا کي پڪڙيو جيڪو تڏهن ٿئي ٿو جڏهن ڪوڊ هلايو:
String s = null؛
اسٽرنگ m = s.toLowerCase();
اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي.
3 3. استثنا جڏهن صفن سان ڪم ڪري رهيو آهي
استثنا کي پڪڙيو جيڪو تڏهن ٿئي ٿو جڏهن ڪوڊ هلايو:
int[] m = new int[2];
م [8] = 5؛
اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي.
4 4. استثنا جڏهن لسٽ جي مجموعن سان ڪم ڪري رهيو آهي
استثنا کي پڪڙيو جيڪو تڏهن ٿئي ٿو جڏهن ڪوڊ هلايو:
ArrayList<String> list = نئين ArrayList<String>();
اسٽرنگ s = list.get(18);
اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي.
5 5. استثنا جڏهن نقشي جي مجموعن سان ڪم ڪري رهيو آهي
استثنا کي پڪڙيو جيڪو ڪوڊ هلائڻ وقت ٿئي ٿو:
HashMap<String, String> map = نئون HashMap<String, String>(null);
map.put(null, null);
map.remove(null);
اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي.
- ترڪيب: پهريون پروگرام لکو، پوءِ ڏسو ته ڪهڙو استثنا ٿئي ٿو ۽ ان کان پوءِ ڪوڊ تبديل ڪريو ۽ ان استثنا کي پڪڙيو.

7 ريشا، ڪھڙو گھڻا ڪيچ ڪم

پراڻي سطح 09 - 16- هاڻي، ڪجهه وڌيڪ دلچسپ ليڪچر. مون کي تمام گهڻو سکڻ پسند آهي. - مان توهان کي ٻڌائڻ چاهيان ٿو ته هڪ کان وڌيڪ ڪيچ ڪيئن ڪم ڪندو آهي. حقيقت ۾ اهو تمام سادو آهي: جڏهن بلاڪ ڪوشش ۾ هڪ استثنا ٿئي ٿي ، پروگرام جي عمل کي پهرين پڪڙي ڏانهن منتقل ڪيو ويندو آهي . - جيڪڏهن بلاڪ ڪيچ جي قوس ۾ بيان ڪيل قسم استثنا-آبجڪٽ جي قسم جي برابر آهي، ته پوءِ ڪوڊ تي عملدرآمد شروع ٿئي ٿو {} جي اندر. ٻي صورت ۾ اسان ايندڙ ڪيچ ڏانهن وڃو . چيڪ اتي بار بار ڪيو ويندو آهي. - جيڪڏهن وڌيڪ ڪيچ بلاڪ نه آهن ، پر استثنا نه پڪڙيو ويو آهي، اهو اڳتي وڌايو ويو آهي، ۽ موجوده طريقي سان مداخلت ڪئي وئي آهي. - اڇا اها ڳاله آ. اهو پڪڙڻ تي عمل ڪيو ويندو، جنهن جو قسم استثناء جي قسم سان ملندو آهي. - ها، صحيح. دراصل، اهو ٿورو وڌيڪ پيچيده آهي: نقطو اهو آهي ته طبقن کي هڪ ٻئي کان وارث ٿي سگهي ٿو. جيڪڏهن ڪلاس ”کائو“ ڪلاس ”جانور“ مان ورثي ۾ مليل آهي، ته ”ڳئون“ جي قسم جو اعتراض نه رڳو ”ڳئون“ جي قسم جي متغير ۾، پر ”جانور“ جي قسم جي متغير ۾ پڻ محفوظ ٿي سگهي ٿو. . - پوءِ ڇا؟ - جيئن ته سڀئي استثنا ڪلاس Exception يا RuntimeException کان ورثي ۾ مليا آهن (جيڪو پڻ Exception ) مان ورثي ۾ ملي ٿو، اهي سڀئي ڪمانڊ ڪيچ (Exception e) يا ڪيچ (RuntimeException e) استعمال ڪندي پڪڙي سگهجن ٿا . - پوءِ ڇا؟ - هن جو مطلب اهو آهي ته، پهرين، توهان ڪيچ استعمال ڪندي ڪنهن به استثنا کي پڪڙي سگهو ٿا catch(Exception e) . ٻيو، ڪيچ بلاڪ جو حڪم معاملو آهي. مثال: - 0 جي ڀاڱي مان نڪرندڙ ArithmeticException ٻئي ڪيچ ۾ پکڙيل آهي. پراڻي سطح 09 - 17- هيٺ ڏنل مثال ۾، ArithmeticException پهرين پڪڙي ۾ پڪڙيو ويو آهي ، ڇاڪاڻ ته سڀني استثنان جا ڪلاس استثنا مان ورثي ۾ مليا آهن. تنهن ڪري، استثنا ڪنهن به استثنا کي پڪڙي ٿو . پراڻي سطح 09 - 18- ھيٺ ڏنل مثال ۾، استثنا ArithmeticException نه پڪڙيو ويو آھي، پر اڳتي وڌايو ويو آھي سڏڻ واري طريقي ڏانھن. پراڻي سطح 09 - 19- چڱو، اهو هاڻي واضح ٿي رهيو آهي. اهي استثنا ايترو آسان نه آهن. - اهو صرف ائين لڳي ٿو. حقيقت ۾، اها جاوا ۾ هڪ سادي شيء آهي. - مان شڪ ۾ آهيان ته ان تي راضي ٿي ويس يا ناراض ٿي...

8 ڊياگو، گھڻا استثنا پڪڙڻ جا ڪم

- اي، اميگو! ڪالهه مون شراب پيئي ۽ توهان جي ڪمن کي وڌيڪ پيچيده ڪيو، پر مون کي اميد آهي ته توهان جي طرف کان ڪو به سخت احساس نه آهي ۽ توهان انهن سڀني کي حل ڪندا؟ اهو توهان جي پنهنجي فائدي لاء آهي. هتي:
ڪم
1 1. استثنا
اتي ھڪڙو طريقو آھي جيڪو ٻن استثنان کي وراثت ۾ اڇلائي ٿو استثنا مان ، ۽ ٻيا ٻه وراثت مان ورثي ۾ مليا RuntimeException : NullPointerException ، ArithmeticException ، FileNotFoundException ، ۽ URISyntaxException . توهان کي NullPointerException ۽ FileNotFoundException کي

پڪڙڻ جي ضرورت آهي ، پر ArithmeticException ۽ URISyntaxException کي پڪڙڻ لاءِ نه . اهو ڪيئن ڪجي؟
2 2. ڪيچنگ استثنا
هتي ٽي استثنا آهن جيڪي ترتيب وار استثنا مان ورثي ۾ مليا آهن :
ڪلاس Exception1 Exception
class exception2 exceptions exception1
class Exception3 exceptions exception2 expans
there is a method، جنهن کي هن ريت بيان ڪيو ويو آهي:
public static void method1() throws Exception1, Exception2, Exception3

ڪيچ لکو سڀني ٽن کي پڪڙڻ لاءِ بلاڪ ڪريو Exception1 ، Exception2 ۽ Exception3
3 3. چونڊيل استثنان کي پڪڙڻ
1. ڳولهيو ته ڪھڙين استثنان کي BEAN.methodThrowExceptions جي طريقي سان اڇلايو ويو آھي .
2. طريقو processExceptions() کي طريقو سڏڻ گھرجي BEAN.methodThrowExceptions ۽ ھٿ ڪرڻ گھرجي استثنا:
2.1. جيڪڏهن هڪ استثنا FileSystemException ٿئي ٿي، ته پوءِ ان کي ڪال ڪري لاگ ان ڪريو طريقو BEAN.log ۽ اڇلائي
2.2. جيڪڏهن ڪو استثنا CharConversionException يا ڪو ٻيو IOException ٿئي ٿو، صرف BEAN.log 3 جي طريقي کي ڪال ڪري لاگ ان ڪريو.
استثنا جو ڪلاس/قسم شامل ڪريو جيڪو توهان 2.1 ۾ فارورڊ ڪري رهيا آهيو. پروسيس ۾ Exceptions() طريقي جي دستخط.
4. ميٿڊ مين () ۾ باقي استثنا کي سنڀاليو ۽ ان کي لاگ ان ڪريو. استعمال ڪريو try..catch

ٽپ:
جيڪڏھن توھان پڪڙيو آھي استثنا MyException ، جنھن کي توھان پڪڙڻ نٿا چاھيو، توھان ھيٺ ڏنل ڪوڊ استعمال ڪندي ان کي اڳتي اڇلائي سگھو ٿا:
catch (MyException e) {
throw e;
}
4 4. چڪاس ٿيل استثنا کي پڪڙڻ،
طريقي جي عمل ۾ سڀني چيڪ ٿيل استثنان کي سنڀاليوExceptions() .
توهان کي اسڪرين تي ڊسپلي ڪرڻ جي ضرورت آهي هر چيڪ ٿيل استثنا جيڪو واقع ٿيو آهي.
توھان استعمال ڪري سگھوٿا صرف ھڪڙو بلاڪ ڪوشش .
5 5. اڻ چيڪ ٿيل استثنان کي پڪڙڻ
طريقن جي عمل ۾ سڀني غير چيڪ ٿيل استثنان کي سنڀاليوExceptions () .
توھان کي اسڪرين تي ڊسپلي ڪرڻ جي ضرورت آھي ھر ھڪڙي استثناء جي ھڪڙي اسٽيڪ ٽريڪ جو طريقو استعمال ڪندي printStack() .
توھان استعمال ڪري سگھوٿا صرف ھڪڙو بلاڪ ڪوشش .

9 پروفيسر، استثنا تي ليڪچر

- اڄ اسان وٽ ھڪڙو دلچسپ موضوع آھي - استثنا. ان وقت، جڏهن نوجوان سائنسدان ۽ پروگرامر هن موضوع تي تمام گهڻو پرجوش هئا... - معاف ڪجو، مون کي ليبارٽري ڏانهن وڃڻ گهرجي. هتي ليڪچر نوٽس آهن. مان سمجهان ٿو ته توهان ان کي پاڻ لاء سمجهندا. هتي: Java Exceptions (Oracle Documentation) Exception Handling in Java (Java T point) Java - Exceptions handling (tutorial point) Basic Java Exception Handling

10 جوليو

- اميگو، اڄ جي سبق بابت توهان جو ڇا خيال آهي؟ ڇا توھان جو دماغ اڃا تائين ڪم نه ڪيو آھي؟ ڊيوگو جا ڪم هر ڪنهن کي پائڻ لاءِ ڪافي آهن. اچو ته هڪ بيئر لمحو ۽ آرام ڪريو. ڇا تون اڃا بيٺي آهين؟

11 ڪئپٽن اسڪوائرز

- هيلو، سپاهي! - صبح جو سلام سائين! - مون کي توهان لاء ڪجهه عجيب خبر آهي. هتي توهان جي صلاحيتن کي مضبوط ڪرڻ لاء هڪ تڪڙو چيڪ آهي. اهو هر روز ڪريو، ۽ توهان پنهنجي صلاحيتن کي حقيقي جلدي وڌايو. ڪم خاص طور تي Intellij IDEA ۾ ڪرڻ لاءِ ٺهيل آهن.
Intellij Idea ۾ ڪرڻ لاءِ اضافي ڪم
1 1. صفر سان ورهايو
هڪ طريقو ٺاهيو عوامي جامد صفر divisionByZero() ، جتي توهان کي ڪنهن به نمبر کي صفر سان ورهائڻ جي ضرورت آهي، ۽ اسڪرين تي ڏيکاريو ڊويزن جو نتيجو. divisionByZero() ميٿڊ ڪال کي
ٽوڙيو ڪوشش ڪريو..catch . Exception.printStackTrace() جو طريقو استعمال ڪندي استثنا اسٽيڪ ٽريس کي اسڪرين تي ڏيکاريو .
2 2. ڳڻپ 10 کان 0 تائين
10 کان 0 تائين ڳڻپ لاءِ لوپ لکو. دير ڪرڻ لاءِ Thread.sleep(100) استعمال ڪريو؛ ننڊ جي ڪال کي هڪ ڪوشش ۾
وجھو..پڪڙو .
3 3. ھڪڙي طريقي کي ھڪڙي ڪوشش ۾ لپايو..پڙھيو
نمبر ڪي بورڊ مان. ڪي بورڊ مان نمبر پڙهڻ لاءِ ڪوڊ لکو الڳ طريقي سان readData() .
هن طريقي جي پوري باڊي کي لپي ڇڏيو (سڄو ڪوڊ اندر اندر readData() طريقي جي، فهرست جي اعلان کان سواءِ جتي نمبر محفوظ ڪيا ويندا) ڪوشش ڪريو.. catch .

جيڪڏهن صارف هڪ نمبر داخل ڪرڻ بدران ڪجهه متن داخل ڪري ٿو، طريقو کي استثنا کي پڪڙڻ ۽ اسڪرين تي ڊسپلي ڪرڻ لاء سڀني نمبرن کان اڳ داخل ڪيو ويو آهي.
اسڪرين تي نمبر ڏيکاريو. هر نمبر هڪ نئين لائن تي هجڻ گهرجي. انگن جي ترتيب ائين ئي هجڻ گهرجي جيئن ان پٽ ۾ هئي.
4 4. تاريخ ڪنورٽر
ڪيبورڊ تان هڪ تاريخ پڙهو فارميٽ ۾ "08/18/2013"
اسڪرين تي ڏيکاريو اها تاريخ "AUG 18، 2013" جي شڪل ۾.
شيون استعمال ڪريو تاريخ ۽ SimpleDateFormat .
5 5. سُر ۽ ڪنسوننٽ
هڪ پروگرام لکو جيڪو ڪيبورڊ مان ليڪ پڙهي.
پروگرام کي اسڪرين تي ٻه اسٽرنگ ظاهر ڪرڻ گهرجن:
1) پهرين اسٽرنگ ۾ واول هجڻ گهرجي
2) ٻئي اسٽرنگ ۾ داخل ٿيل ٽيڪسٽ مان ڪنسوننٽس ۽ اوقاف جي حرفن تي مشتمل هجڻ گهرجي.
اسپيس جي حساب سان ڪردارن کي الڳ ڪريو.

مثال ان پٽ:
اسٽاپ ڏس ٻڌو
مثال آئوٽ:
oooie
stplklstn
6 6. The tale of the Little Red Riding Hood
1. اتي پنج طبقا آھن: ريڊ رائيڊنگ ھوڊ، ڏاڏي، پيٽي، ڪاٺ ڪڪر، ولف. 2. هر طبقي ۾ ArrayList
قسم جا ٻه شعبا آهن : مارجي ويو ۽ کاڌو. 3. ضروري شيون اڳ ۾ ئي ٺاهيل آهن (هود، داد، ...). 4. ”ننڍي ريڊ رائيڊنگ هوڊ“ جي منطق حاصل ڪرڻ لاءِ صحيح تعلق پيدا ڪريو (ڪنھن کي کاڌو ۽ ڪنھن کي ماريو).

7 7. Move static modifies
Move static modifiers جيئن ڪوڊ مرتب ٿئي.
8 8. انگن جي صفن جي لسٽ
ھڪڙي فهرست ٺاھيو جنھن جا عنصر انگن جا صف آھن. لسٽ ۾ شامل ڪريو پنج آبجیکٹ صفن جي ڊيگهه 5، 2، 4، 7، 0، ترتيب سان. ڪنهن به ڊيٽا سان صفون ڀريو ۽ انهن کي اسڪرين تي ڏيکاريو.
9 9. Ten cats
ٺاهيو هڪ ڪلاس Cat هڪ فيلڊ اسٽرنگ نالي سان .
ڊڪشنري جو نقشو ٺاھيو<String, Cat> , 10 cats شامل ڪريو ماڊل تي "نالو" - "Cat". نقشي
مان حاصل ڪريو نالن جو هڪ سيٽ ۽ سيٽ کي اسڪرين تي ڏيکاريو.
- اهي ڪم سبزين لاءِ هئا. مون وڌيڪ پيچيدگي جا بونس ڪم شامل ڪيا. صرف مٿين بندوقن لاء.
بونس ڪم
1 1. پروگرام گڏ نٿو ڪري ۽ هلائي ٿو. ان کي درست ڪريو.
ٽاسڪ: پروگرام کي ڪيبورڊ مان ٻه فائل جا نالا پڙهڻ گهرجن ۽ پهرين فائل کي ٻئي نالي سان بيان ڪيل هنڌ ڏانهن نقل ڪرڻ گهرجي.
2 2. پروگرام ۾ نئين ڪارڪردگي شامل ڪريو.
اولڊ ٽاسڪ: پروگرام کي ڪيبورڊ مان ٻه فائل جا نالا پڙهڻ گهرجن ۽ پهرين فائل کي نقل ڪرڻ لاءِ ٻئي نالي سان مخصوص ڪيل جڳهه تي.
نئون ڪم: پروگرام کي ڪيبورڊ مان ٻه فائل جا نالا پڙهڻ گهرجن ۽ پهرين فائل کي نقل ڪرڻ لاءِ ٻئي نالي سان بيان ڪيل هنڌ تي.

جيڪڏهن فائل (جيڪو نقل ٿيڻ وارو آهي) مخصوص نالي سان موجود ناهي، پروگرام کي اسڪرين تي پيغام ڏيڻ گهرجي "فائل موجود ناهي" ۽ پڙهڻ کان پهريان هڪ ڀيرو ٻيهر ڪنسول مان فائل جو نالو پڙهڻ جي ڪوشش ڪريو. ٻي (منزل) فائل جو نالو.
3 3. سکيا ۽ مشق الگورتھم.
ڪيبورڊ مان لفظن ۽ انگن جي لسٽ پڙهو. اسڪرين تي لفظن کي وڌندي ترتيب ۾ ڏيکاريو ۽ انگ اکر ھيٺ لھي.

مثال ان پٽ:
چيري
1
بين
3
ايپل
2
0
تربوز

مثال ٻاھر نڪرڻ:
ايپل
3
بين
2
چيري
1
0
تربوز
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION