CodeGym /Blog Jawa /Acak /Tingkat Tua 09
John Squirrels
tingkat
San Francisco

Tingkat Tua 09

Diterbitake ing grup

Kawruh vs Skills

Lawas Level 09 - 1College mulang kita manawa ora ana bedane antarane teori lan praktik. Inggih, mesthi sampeyan ngerti sing ora padha. Nanging sampeyan ora weruh prabédan inti. Nanging ana siji. Umume wong sijine tandha kesetaraan antarane "Aku ngerti" lan "Aku bisa". Apa sampeyan? Kepiye babagan sawetara conto?
  1. Aku ngerti yen ngrokok iku ala kanggo aku, nanging aku ngrokok.
  2. Aku ngerti yen panganan cepet iku ala kanggo aku, nanging aku mangan.
  3. Aku ngerti peraturan lalu lintas nanging aku ora bisa nyopir.
  4. Aku ngerti jogging iku apik kanggo aku nanging aku ora jogging ing esuk.
Asring kedadeyan yen wong njupuk "Aku ngerti" kanggo "Aku bisa". Iki minangka conto sing apik babagan peraturan lalu lintas. Yen wong ngerti peraturan lan ngerti carane nyopir, apa tegese dheweke bisa nyopir? Ora. Apa yen dheweke mikir dheweke ngerti carane nyopir? Dadi kenapa dheweke butuh instruktur - dheweke wis ngerti kabeh. Yen sampeyan yakin wis ngerti kabeh, sampeyan bisa uga ora bakal sinau sing anyar. Lan yen sampeyan yakin ngerti carane nindakake kabeh, sampeyan ora bakal sinau. Pikiran kaya mangkene ora bakal ana ing pikiran sampeyan. Lan tegese sampeyan bakal kantun kabeh kesempatan sing apik kanggo sinau. College biasanipun mung menehi kawruh; sampeyan kudu entuk katrampilan dhewe. Nanging apa sing dakrungu? Apa sampeyan duwe praktik saliyane teori ing kuliah sampeyan? Oke, yen sampeyan sinau ing fakultas fisika, nggawe model kerja mesin uap kanthi efisiensi paling sethithik 20%. Aku yakin sampeyan ngerti carane nindakake, nanging sampeyan ora bakal bisa nindakake, bener? Sampeyan ahli kimia ? Nggawe bubuk tanpa asap. Sampeyan ngerti carane, nanging sampeyan ora bisa, ha? Ahli matematika, sampeyan? Etung lintasan saka cangkang artileri. Aja lali kanggo njupuk menyang akun wangun saka cangkang. Titik matematika ora mabur ing urip nyata. Lan ora ana jaran sing bunder. Lawas Level 09 - 2Ahli biologi? Isolasi penisilin. Jamur iki tuwuh ing melon, supaya sampeyan ngerti. Sampeyan ngerti carane - apik banget! Apa sampeyan bisa nindakake? Ekonom?Gawe ramalan rega minyak. rampung? Lan saiki dadi $ 2,000 utawa $ 200,000 saben taun adhedhasar ramalan sampeyan. Apa sampeyan wis tau main ing FOREX? Kanggo dhuwit nyata? Utawa sampeyan mung ngerti apa iku? Ekonomi internasional? Splendid! Ngendi aku mbukak perusahaan lepas pantai? Ing Hong-Cong, Irlandia utawa ing AS. Kenging punapa? Sanadyan sampeyan ngerti sing, kang mangu-mangu, sampeyan bakal meh ora bisa nindakake iku, amarga sampeyan wis tau bener rampung. Sampeyan malah ora duwe pitunjuk babagan carane nindakake. Oh, sampeyan ora sinau sing nalika kuliah? Apa hak aku kanggo menehi tugas sing sampeyan durung siyap? Amarga iki tugas ing urip nyata. Praktek IS iki , kabeh sing sampeyan sinau ing kuliah yaiku: jaran bunder, kompetisi sing sampurna - ora ana sing ana ing urip nyata. Nanging kok aku lali kanggo sebutnospesialis marketing ? Apa cara paling apik kanggo mbuwang $ 500 supaya akeh wong ngerti babagan ceramahku? Ing iklan? Apa sampeyan ngerti yen ora mung iklan klasik sing wis ketinggalan jaman, nanging uga konsep USP (proposisi jual unik), sing aku yakin sampeyan diwulang ing kuliah minangka panacea sing meh unik. Lali kowe ngerti apa-apa. Takon dhewe - apa sing bisa daklakoni? Migunani, maksudku? Soko wong bakal mbayar dhuwit? Dhuwit apik, maksudku? Dadi kanca-kanca, ayo padha matur nuwun kanggo kursus sing apik kaya CodeGym. Amarga iku, sampeyan ora mung ngerti carane program, nanging sampeyan bakal bisa nindakake. Sampeyan uga bakal bisa njaluk proyek lan entuk dhuwit apik ing sawetara taun. Muga-muga dhuwit iki cukup kanggo urip sing kepenak lan kepenak. Aku bakal ngomong maneh, supaya sampeyan elinga: ora masalah apa sing sampeyan ngerti. Siji-sijine perkara sing penting yaiku katrampilan sing migunani sing sampeyan duwe, sing bakal dibayar dening wong liya. Cepet sampeyan ngerti iki, luwih apik.

Sampeyan wis tekan tingkat anyar

Tingkat 9

Lawas Level 09 - 3

1 Risha, Tilak tumpukan

Lawas Level 09 - 4- Hey! Dina iki aku bakal pitutur marang kowe apa tilak tumpukan iku. Nanging pisanan aku nerangake apa tumpukan iku. - Mbayangno tumpukan kertas - tugas kanggo petugas tartamtu. A assignment anyar bisa sijine ing ndhuwur tumpukan, lan kang bakal njupuk assignment saka ndhuwur tumpukan. Mangkono, tugas ora bakal ditindakake kanthi cepet. Saben petugas njupuk tugas sing pungkasan. Struktur koleksi kasebut diarani tumpukan . - Ing Jawa, ana koleksi khusus - Stack. Koleksi iki nduweni metode «nambah unsur» lan «njupuk (njaluk / njupuk) unsur». Kaya sing wis dingerteni, unsur pungkasan sing ditambahake bakal dijupuk dhisik. - Hum. Ora angel, dakkira. - Nggih. Banjur mugi kula nerangake apa tilak tumpukanpunika. - Mbayangno yen ing fungsi Jawa А nelpon fungsi B , lan sing terakhir nelpon fungsi C , kang, ing siji, nelpon fungsi D . Dadi, kanggo metu saka fungsi B , sampeyan kudu metu saka fungsi C dhisik , lan kanggo nglakoni sampeyan kudu metu saka fungsi D. Iki meh padha karo tumpukan. - Lan apa podho? - Ing tumpukan, kanggo njaluk menyang assignment tartamtu, sampeyan uga kudu ngrampungake kabeh assignments sijine ing ndhuwur. - Ya, iki minangka analogi, nanging aku ora yakin yen aku ngerti kabeh kanthi bener. - Delengen kene. Ing Jawa tumpukan minangka sakumpulan unsur. Iku kaya lembaran kertas ing tumpukan. Kanggo njupuk nomer telu saka ndhuwur, sampeyan kudu njupuk sheet kapindho, nanging sadurunge sampeyan kudu njupuk sing pisanan. Sampeyan bisa tansah sijine lan njupuk sheets, nanging sampeyan bisa sijine mung ing ndhuwur lan njupuk mung saka ndhuwur. Padha ditrapake kanggo telpon fungsi. Fungsi А nelpon fungsi B , sing terakhir nelpon fungsi C . Kanggo metu saka А , sampeyan kudu metu dhisik saka B , lan kanggo nindakake iki sampeyan kudu metu saka C . - Enteni sedhela. Yen aku tak iku tengen, kabèh tumpukan dadi metu ing «mung sheet pungkasan sing sijine ing tumpukan bisa dijupuk» lan «pisanan, pungkasan disebut fungsi kudu metu». Apa ngono? - Ya. Dadi, urutan panggilan fungsi yaiku «tumpukan telpon fungsi», utawa mung «tumpukan telpon». Fungsi sing diarani pungkasan kudu diakhiri dhisik. Coba deleng conto: Lawas Level 09 - 5- OK. Kabeh iku cetha karo telpon fungsi, Aku guess. Nanging apa StackTraceElement iki ? - mesin virtual Java log kabeh fungsi telpon. Kanggo maksud iki nduweni koleksi khusus - tumpukan. Nalika siji fungsi nelpon liyane, JVM nempatake unsur anyar StackTraceElement menyang tumpukan iki. Nalika fungsi rampung, unsur dibusak saka tumpukan. Mangkono, tumpukan iki tansah nyimpen informasi anyar babagan kahanan saiki «tumpukan panggilan fungsi». - Saben StackTraceElementngemot informasi babagan metode sing diarani. Supaya sampeyan bisa njaluk jeneng cara iki nggunakake getMethodName . - Tuladha ing ndhuwur nuduhake:
  1. Entuk "tumpukan telpon":
  2. Ulangi array nggunakake loop for-saben . Muga-muga sampeyan ora lali.
  3. Print jeneng cara kanggo System.out .
- Bab sing menarik, lan ketoke gampang. Matur nuwun, Risha!

2 Diego, Tugas ing tumpukan tilak tampilan

- Hei, Amigo! Punika tugas sethitik kanggo nampilake menyang layar tilak tumpukan.
tugas
1 Saben cara kudu bali StackTrace
Tulis limang cara sing nelpon saben liyane. Saben cara kudu ngasilake StackTrace.
2 StackTrace maneh
Tulis limang cara sing nelpon saben liyane. Saben cara kudu ngasilake jeneng metode panelpon. Sampeyan bisa entuk metode panelpon nggunakake StackTrace.
3 Cara ngirim bali nomer baris kode iki cara iki disebut saka
Tulis limang cara sing nelpon saben liyane. Saben cara kudu ngasilake nomer baris kode sing diarani metode iki. Gunakake elemen fungsi.getLineNumber() .
4 Tumpukan tilak 10 telpon
Tulis kode kanggo njaluk tumpukan tilak 10 telpon.
5 Cara kasebut kudu ngasilake asil - ambane tilak tumpukan
Tulis cara sing nampilake lan ngasilake ambane tilak tumpukan. Kedalaman jejak tumpukan yaiku jumlah metode (jumlah unsur ing dhaptar).

3 Elly, Kasalahan lan Pangecualian

- Hei, Amigo! Dina iki kita duwe pelajaran sing menarik banget. Aku bakal pitutur marang kowe bab pangecualian. Pangecualian minangka mekanisme khusus kanggo ngontrol kesalahan ing program kasebut. Ing ngisor iki sawetara conto kesalahan sing bisa kedadeyan ing program:
  1. Program kasebut nyoba nulis file menyang disk lengkap.
  2. Program kasebut nyoba nelpon metode variabel sing nyimpen referensi null.
  3. Program kasebut nyoba mbagi nomer kanthi 0.
Tumindak kasebut nyebabake kesalahan. Biasane, iki nyebabake penutupan program - ora ana gunane kanggo terus ngeksekusi kode kasebut. - Kok ngono? - Apa ana pangertèn kanggo nguripake setir nalika mobil Mudhun saka Cliff? - Apa sampeyan tegese program kudu mungkasi? - Ya. Mangkono uga sadurunge. Sembarang kesalahan nyebabake mandap program. - Iku kaputusan banget pinter. - Apa ora luwih apik kanggo nyoba kanggo nggarap? - Ya. Sampeyan wis ngetik teks ageng ing MS Word, disimpen, iku durung disimpen, nanging program ngandhani yen kabeh iku OK. Lan sampeyan terus ngetik. Bodho, ta? - Ya. - Banjur programer nggawe gerakan sing menarik:saben fungsi bali status sawijining karya. 0 tegese fungsi kasebut bisa digunakake kaya sing dikarepake, nilai liyane - ana kesalahan : nilai iki minangka kode kesalahan. - Nanging pendekatan iki wis kerugian. Sawise saben (!) Telpon fungsi sampeyan kudu mriksa kode (nomer) bali dening fungsi. Kaping pisanan, ora trep: kode penanganan kesalahan jarang dieksekusi, nanging sampeyan kudu nulis. Kapindho, fungsi kasebut asring ngasilake nilai sing beda - apa sing kudu ditindakake? - Ya. Sing arep tak takoni. - Banjur mangsa padhang teka - pangecualian lan kesalahan-nangani wis katon. Mangkene cara kerjane:
  1. Nalika ana kesalahan, mesin virtual Java nggawe obyek khusus - pangecualian - ngemot kabeh informasi babagan kesalahan kasebut. Kanggo kesalahan sing beda-beda ana pangecualian sing beda.
  2. Banjur pangecualian iki meksa program supaya langsung ngganggu fungsi saiki, lan fungsi sabanjure, nganti metu saka cara utama. Sawise iku program mungkasi. Pangembang Java nelpon proses iki «muter maneh tumpukan telpon».
- Nanging sampeyan wis ngandika sing program ora bakal metu manawa. - Sing bener, amarga ana cara kanggo nyekel pangecualian. Kapan lan ing ngendi wae, sampeyan bisa nulis kode khusus kanggo nyekel pangecualian kasebut lan nindakake perkara sing penting. - Kanggo nindakake iki, ana konstruksi khusus nyoba-nyekel . Deleng cara kerjane: Lawas Level 09 - 6- Napa «Sawise method1 nelpon. Ora bakal ditampilake» ora bakal ditampilake ing layar? - Aku bungah sampeyan takon bab iku. Ing baris 25, ana divisi dening nol. Iki ndadékaké kanggo kesalahan - pangecualian. Mesin virtual Java nggawe obyek ArithmeticException sing ngemot informasi kesalahan. Objek iki minangka pangecualian. - Pangecualian dumadi ing metode metode1 () .Iki nyebabake cara langsung mandheg. Iku uga bakal mimpin kanggo mandap saka cara utama , yen ora ana blok nyoba-nyekel . - Yen ana pangecualian ing blok nyoba, bakal kejiret ing blok nyekel . Kode liyane ing blok nyoba ora bakal dieksekusi, eksekusi blokir bakal diwiwiti langsung. - Aku ora ngerti. - Ing tembung liyane, kode iki dianggo kaya iki:
  1. Yen ana pangecualian ing blok coba , kode ing blok iki ora dieksekusi maneh, nanging eksekusi blokir diwiwiti .
  2. Yen ora ana pangecualian, blok coba dieksekusi nganti pungkasan , lan catch ora bakal ditindakake .
- Ah! - Mbayangno yen sawise saben cara nelpon kita mriksa apa disebut cara mungkasi dhewe utawa amarga pangecualian. Yen ana pangecualian, JVM wiwit nglakokaké pamblokiran nyekel yen kasedhiya, lan keno pangecualian. Yen ora ana pamblokiran nyekel, JVM mungkasi cara saiki. Banjur mriksa sing padha diwiwiti kanthi metode sing diarani metode saiki. - Saiki aku rumangsa entuk. - Ora apa-apa. - Lan apa sing Pengecualian nang pemblokiran nyekel? - Kabeh pengecualian minangka kelas sing diwarisake saka kelas Exception. Kita bisa nyekel samubarang mau kanthi nemtokake sawijining kelas ing nyekelpemblokiran, utawa kabeh mau bebarengan kanthi nemtokake kelas induk umum Exception. Banjur, saka variabel e (variabel iki nyimpen referensi obyek pangecualian) sampeyan bisa entuk kabeh informasi sing dibutuhake babagan kesalahan kasebut. - Apik! Lan yen ing caraku ana pangecualian sing beda, apa aku bisa nangani kanthi cara sing beda-beda? - Sampeyan kudu. Sampeyan bisa nindakake kaya mangkene: Lawas Level 09 - 7- Blok nyoba bisa ngemot pirang-pirang blok tangkapan , sing saben-saben bakal nyekel pangecualian saka jinise. - Umph. Inggih, aku rada entuk. Mesthi, aku ora bakal nulis kaya iki dhewe. Nanging, aku ora bakal wedi yen ketemu kode kuwi.

4 Elly, RuntimeException, mbalang

Lawas Level 09 - 8- Aku mutusaké kanggo nggawa munggah topik liyane dina. Ing Jawa, kabeh pangecualian dipérang dadi rong jinis - dikontrol / dicenthang lan ora dikendhaleni / ora dicenthang . Pengecualian sing dicenthang kudu kejiret, ora dicenthang bisa kejiret nanging ora dibutuhake . - Iku bisa kanggo uncalan istiméwa ing kode waé? - Ing kode sampeyan, sampeyan bisa mbuwang pengecualian dhewe. Sampeyan bisa malah nulis pangecualian dhewe. Nanging kita bakal jero ing bolongan iki mengko. Saiki ayo sinau babagan cara nggarap pengecualian sing dibuwang dening mesin virtual Java. - OK. - Yen pangecualian ClassNotFoundException lan FileNotFoundExceptiondibuwang (katon) ing cara, programmer kudu nemtokake ing tandha cara (header metode). Pengecualian kasebut dicenthang. Sing biasane katon kaya: Lawas Level 09 - 9- Dadi, kita mung nulis uncalan lan dhaptar pangecualian dipisahake koma. bener? Apa ngono? - Ya. Nanging ana liyane sing menarik. Supaya conto ing ngisor iki wis nyawiji, cara sing nelpon method1 () wis salah siji nyekel pangecualian iki utawa uncalan maju. Yen sampeyan pengin mbuwang pengecualian sing wis dicenthang maju, sampeyan kudu nemtokake ing header metode . - Sawise maneh, yen ing metode utama , sampeyan pengin nelpon metode sing ana ing frasa header mbuwang FileNotFoundException, ...banjur sampeyan kudu nindakake salah siji saka rong perkara iki:
  1. kanggo nyekel pangecualian FileNotFoundException, ...
    Sampeyan kudu mbungkus kode ing ngendi sampeyan nelpon cara mbebayani kanthi blok try-catch
  2. ora kanggo nyekel pangecualian FileNotFoundException, ...
Sampeyan kudu nambahake pangecualian kasebut menyang dhaptar lemparan metode utama sampeyan . - Apa sampeyan bakal menehi conto? - Deleng kene: Lawas Level 09 - 10- Conto iki ora bakal nyawiji, amarga cara utama nelpon cara method1 (), kang mbalang istiméwa sing kudu kejiret. - Supaya conto kasebut dikompilasi, sampeyan kudu nambah penanganan pangecualian menyang metode utama . Sampeyan bisa nindakake iki ing rong cara: Lawas Level 09 - 11- Lan kene kita nyekel nggunakake nyoba-nyekel : Lawas Level 09 - 12- Iku njupuk cetha, nanging banget sethitik. - Deleng conto ing ngisor iki: Lawas Level 09 - 13- Isih ana pangecualian - RuntimeException lan kelas sing diwarisake.Ora perlu nyekel utawa mbuwang. Iki minangka pangecualian sing ora dicenthang. Pangecualian kasebut dianggep angel diprediksi, mula meh ora bisa diprediksi kedadeyane. Sampeyan bisa nindakake iku padha karo wong-wong mau, nanging ana ora perlu kanggo nemtokake ing mbalang .

5 Risha, Rolling tumpukan telpon, carane nindakake ing pangecualian

- Aku kaya kanggo pitutur marang kowe dicokot liyane babagan carane pangecualian bisa. Conto ing ngisor iki nerangake: Lawas Level 09 - 14- Aku ora ngerti. - Oke. Aku bakal nerangake apa sing kedadeyan. - Ing conto ing sisih kiwa, kita nelpon sawetara cara ing urutan chain. Ing method2 () kita khusus nggawe lan uncalan pangecualian (kanggo miwiti kesalahan). - Conto ing sisih tengen nuduhake apa sing kedadeyan. Deleng metode2() . Sing nggawe pangecualian dadi: kita nggawe obyek saka jinis RuntimeException , simpen ing pengecualian variabel khusus lan langsung metu saka metode kasebut - bali . - Ing method1 , sawise nelpon saka method2 ana mriksa,yen ana pangecualian utawa ora; yen ana pangecualian, banjur method1 langsung mungkasi. Priksa iki ditindakake kanthi implisit sawise nelpon saben (!) metode Jawa. - Wah! - Persis. - Ing kolom ing sisih tengen ing cara utama aku wrote apa mengkono nalika pangecualian kejiret dening pemblokiran nyoba-nyekel . Yen ora ana pangecualian, kode terus dieksekusi kaya sing direncanakake. Yen ana pangecualian saka jinis sing ditemtokake ing catch , banjur kita nangani. - Lan apa tegese uncalan lan instanceof ? - Deleng baris pungkasan ing sisih kiwa mbuwang RuntimeException anyar. Kanthi cara iki, kita nggawe lan mbuwang pengecualian. Iki mung conto. Kita ora bakal nindakake nganti saiki. - Nggunakake printah « а instanceof B » ing blok tengen kita mriksa apa obyek a duwe jinis B. Yaiku, manawa obyek sing disimpen ing pengecualian variabel, duwe jinis RuntimeException . Iku ekspresi logis. - Wah, wis rada cetha.

6 Diego, Istiméwa nyekel tugas

- Delengen kene! Pakdhe Diego nggawa sawetara tugas kanggo nyekel sampeyan. Muga-muga sampeyan sukses. Aku mikir sampeyan butuh. Heh. Lawas Level 09 - 15- Hei, Amigo! Ing ngisor iki sawetara tugas nyekel pangecualian sing menarik.
Tugas nyekel
1 1. Istiméwa nalika operasi karo nomer
Nyekel pangecualian sing occurs nalika mbukak kode:
int a = 42 / 0;
Tampilake pangecualian menyang layar, nemtokake jinise
2 2. Istiméwa nalika operasi karo strings
Nyekel pangecualian sing occurs nalika mbukak kode:
String s = null;
String m = s.toLowerCase();
Tampilake pangecualian menyang layar, nemtokake jinise.
3 3. Pangecualian nalika operasi karo array
Nyekel pangecualian sing dumadi nalika mbukak kode:
int [] m = int anyar [2];
m[8] = 5;
Tampilake pangecualian menyang layar, nemtokake jinise.
4 4. Pengecualian nalika ngoperasikake koleksi Dhaftar Nyekel
pangecualian sing kedadeyan nalika mbukak kode:
ArrayList<String> list = ArrayList anyar<String>();
String s = list.get(18);
Tampilake pangecualian menyang layar, nemtokake jinise.
5 5. Pangecualian nalika operasi karo koleksi Peta
Nyekel pangecualian sing dumadi nalika mbukak kode:
HashMap<String, String> map = anyar HashMap<String, String>(null);
map.put(null, null);
map.remove(null);
Tampilake pangecualian menyang layar, nemtokake jinise.
- Tip: pisanan nulis program, banjur ndeleng apa pangecualian lan sawise iku ngganti kode lan nyekel pangecualian sing.

7 Risha, Carane akeh tangkapan bisa

Lawas Level 09 - 16- Saiki, sawetara ceramah sing luwih menarik. Aku seneng banget mulang. - Aku arep pitutur marang kowe carane sawetara nyekel dianggo. Sejatine prasaja banget: nalika ana pangecualian ing blok nyoba , eksekusi program ditransfer menyang tangkapan pertama . - Yen jinis sing ditemtokake ing tanda kurung saka blok nyekel padha karo jinis obyek istiméwa, banjur eksekusi kode diwiwiti ing {}. Yen ora, kita pindhah menyang tangkapan sabanjure . Priksa maneh ana. - Yen ora ana maneh pamblokiran nyekel , nanging pangecualian durung kejiret, dibuwang maju, lan cara saiki diselani. - Aku weruh. Tangkapan kasebut bakal dieksekusi, jinis sing cocog karo jinis pengecualian. - Ya, bener. Bener, iki rada rumit: Intine yaiku kelas kasebut bisa diwarisake saka siji liyane. Yen kelas «Cow» dipun warisaken saka kelas «Animal», obyek saka jinis «Cow» bisa disimpen ora mung ing variabel saka jinis «Cow», nanging ing variabel saka jinis «Animal» uga. . - Dadi apa? - Amarga kabeh pengecualian diwarisake saka kelas Exception utawa RuntimeException (sing uga diwarisake saka Exception ), kabeh bisa kejiret nggunakake perintah catch (Exception e) utawa nyekel (RuntimeException e) . - Dadi apa? - Iki tegese,pisanan, sampeyan bisa nyekel sembarang pangecualian nggunakake printah nyekel (Pengecualian e) . Kapindho, urutan pamblokiran nyekel penting. Conto: - ArithmeticException asil saka divisi dening 0 kejiret ing nyekel kapindho. Lawas Level 09 - 17- Ing conto ing ngisor iki, ArithmeticException kejiret ing nyekel pisanan , amarga kelas kabeh istiméwa diwarisake saka Exception. Dadi, Exception nyekel pangecualian apa wae . Lawas Level 09 - 18- Ing conto ing ngisor iki, pangecualian ArithmeticException ora kejiret, nanging dibuwang nerusake kanggo cara nelpon. Lawas Level 09 - 19- Lha, saiki wis terang. Pangecualian kasebut ora gampang. - Iku mung misale jek supaya. Ing kasunyatan, iku salah siji sing paling prasaja ing Jawa. - Aku ragu apa seneng utawa duka babagan iki ...

8 Diego, Multiple pangecualian nyekel tugas

- Hei, Amigo! Wingi aku mabuk lan rumit banget tugas sampeyan, nanging muga-muga ora ana rasa susah ing sisih sampeyan lan sampeyan bakal ngrampungake kabeh? Iku kanggo kabecikan sampeyan dhewe. kene:
tugas
1 1. Pangecualian
Ana cara sing mbalang rong pangecualian sing diwarisake saka Exception , lan loro liyane sing diwarisake saka RuntimeException : NullPointerException , ArithmeticException , FileNotFoundException , lan URISyntaxException .

Sampeyan kudu nyekel NullPointerException lan FileNotFoundException , nanging ora kanggo nyekel ArithmeticException lan URISyntaxException . Carane nindakake?
2 2. Pengecualian nyekel
Ana telung pangecualian sing diwarisake saka Exception :
kelas Exception1 ngluwihi
Kelas Exception Exception2 ngluwihi Exception1
kelas Exception3 ngluwihi Exception2
Ana cara sing diterangake kaya ing ngisor iki:
public static void method1() throws Exception1, Exception2, Exception3

Write a catch blok kanggo nyekel kabeh telung Exception1 , Exception2 lan Exception3
3 3. Nyekel pengecualian selektif
1. Temokake apa pengecualian sing dibuwang kanthi metode BEAN.methodThrowExceptions .
2. Cara processExceptions () kudu nelpon cara BEAN.methodThrowExceptions lan nangani istiméwa:
2.1. yen ana pangecualian FileSystemException , banjur log iku kanthi nelpon cara BEAN.log lan uncalan maju
2.2. yen ana pangecualian CharConversionException utawa IOException liyane , mung log kanthi nelpon cara BEAN.log
3. Tambah kelas / jinis pangecualian sing diterusake ing 2.1. menyang processExceptions()tandha cara.
4. Nangani istiméwa isih ing cara utama () lan log. Gunakake try..catch

Tip:
Yen sampeyan kejiret istiméwa MyException , sing ora pengin nyekel, sampeyan bisa uncalan maju nggunakake kode ing ngisor iki:
nyekel (MyException e) {
uncalan e;
}
4 4. Keno dicenthang pangecualian
Nangani kabeh dicenthang pangecualian ing cara processExceptions () .
Sampeyan kudu nampilake ing layar saben pangecualian sing wis dicenthang.
Sampeyan bisa nggunakake mung siji blok nyoba .
5 5. Nyekel pangecualian sing ora dicenthang
Ngalahake kabeh pangecualian sing ora dicenthang ing cara processExceptions () .
Sampeyan kudu nampilake menyang layar tilak tumpukan saben istiméwa dumadi nggunakake cara printStack () .
Sampeyan bisa nggunakake mung siji blok nyoba .

9 Profesor, Kuliah babagan pengecualian

- Dina iki kita duwe topik super-menarik - pangecualian. Ing wektu iku, nalika ilmuwan enom lan programer padha banget bungah bab topik iki… - Nuwun sewu, aku kudu pindhah menyang lab. Punika cathetan kuliah. Aku mikir sampeyan bakal ngerti dhewe. Kene: Java Exceptions (Oracle Documentation) Exception Handling in Java (Java T point) Java - Exceptions Handling (tutorials point) Basic Java Exception Handling

10 Julio

- Amigo, apa sampeyan mikir babagan pelajaran dina iki? Apa otak positron sampeyan durung bisa? Tugas Diego wis cukup kanggo nyandhang sapa wae. Ayo ngombe bir lan santai. Apa sampeyan isih ngadeg?

11 Kapten Bajing

- Halo, prajurit! - Sugeng enjang, Pak! - Aku duwe warta apik tenan kanggo sampeyan. Mangkene priksa cepet kanggo nguatake katrampilan sampeyan. Tindakake saben dina, lan sampeyan bakal nambah katrampilan kanthi cepet. Tugas dirancang khusus kanggo nindakake ing Intellij IDEA.
Tugas tambahan sing kudu ditindakake ing Intellij Idea
1 1. Divisi dening nul
Nggawe cara umum statis roso sepi divisionByZero () , ngendi sampeyan kudu dibagi nomer sembarang dening nul, lan nampilake menyang layar asil divisi.
Lebokake divisionByZero () telpon cara menyang try..catch . Tampilake menyang layar tilak tumpukan pangecualian nggunakake metode exception.printStackTrace () .
2 2. Countdown saka 10 kanggo 0
Tulis daur ulang kanggo countdown saka 10 kanggo 0. Gunakake Thread.sleep(100) kanggo nggawe wektu tundha;
Bungkus panggilan turu dadi coba..cekel .
3 3. Lebokake cara menyang nyoba ..
nyekel Waca nomer saka keyboard. Tulis kode kanggo maca nomer saka keyboard menyang cara kapisah readData () .
Lebokake kabeh awak saka cara iki (kabeh kode nang readData () cara, kajaba pranyatan saka dhaftar ngendi nomer bakal disimpen) menyang cobi .. nyekel .

Yen pangguna ngetik sawetara teks tinimbang ngetik nomer, cara kasebut kudu nyekel pangecualian lan nampilake menyang layar kabeh nomer sing dilebokake sadurunge.
Nuduhake nomer menyang layar. Saben nomer kudu ing baris anyar. Urutan nomer kudu kaya ing input.
4 4. Konverter tanggal
Waca saka keyboard tanggal ing format «08/18/2013»
Tampilan menyang layar tanggal kasebut ing wangun «18 AUG 2013».
Gunakake obyek Date lan SimpleDateFormat .
5 5. Vokal lan konsonan
Tulis program sing maca baris saka keyboard.
Program kasebut kudu nampilake rong senar ing layar:
1) senar pisanan kudu ngemot aksara swara
2) senar kapindho kudu ngemot konsonan lan karakter wacan saka teks sing dilebokake.
Pisahake karakter kanthi spasi.

Conto input:
Mungkasi katon ngrungokake
Conto output:
oooie
stplklstn
6 6. Dongeng Kerudung Abang Cilik
1. Kelase ana lima yaiku : Kerudung Abang, mbah, patty, penebang kayu, serigala.
2. Saben kelas duwe rong lapangan jinis ArrayList : mateni lan mangan.
3. Objek sing dibutuhake wis digawe (hood, mbah, ...).
4. Nggawe hubungan sing bener (sing mangan lan mateni sapa) kanggo njaluk logika «Little Red Riding Hood».
7 7. Pindhah statis modifies
Pindhah statis modifiers supaya kode compiles.
8 8. Dhaptar susunan angka
Nggawe dhaptar sing unsur-unsur susunan angka. Tambahake menyang dhaptar limang susunan obyek kanthi dawane 5, 2, 4, 7, 0. Isi array karo data apa wae lan ditampilake ing layar.
9 9. Sepuluh kucing
Nggawe Kucing kelas kanthi jeneng String lapangan .
Nggawe kamus Peta<String, Cat> , nambah 10 kucing ing model «Jeneng» - «Kucing».
Entuk saka Peta Set jeneng lan nampilake pesawat menyang layar.
- Tugas kasebut kanggo sayuran ijo. Aku nambah tugas bonus saka kerumitan luwih. Kanggo bedhil ndhuwur mung.
tugas bonus
1 1. Program ora ngumpulake lan mbukak. Ndandani.
Tugas: Program kudu maca saka keyboard loro jeneng file lan nyalin file pisanan menyang lokasi sing ditemtokake dening jeneng liya.
2 2. Tambah fungsi anyar kanggo program.
Tugas Lawas: Program kasebut kudu maca saka keyboard rong jeneng file lan nyalin file pisanan menyang lokasi sing ditemtokake kanthi jeneng liya.
Tugas anyar: Program kasebut kudu maca saka keyboard loro jeneng file lan nyalin file pisanan menyang lokasi sing ditemtokake kanthi jeneng liya.

Yen file (sing bakal disalin) kanthi jeneng sing ditemtokake ora ana, program kasebut kudu nampilake ing layar pesen "File ora ana" lan nyoba maca jeneng file saka konsol maneh sadurunge maca jeneng file kapindho (tujuan).
3 3. Learning lan esthi algoritma.
Maca saka keyboard dhaptar tembung lan angka. Tampilake tembung ing layar kanthi urutan munggah lan nomer ing urutan mudhun.

Conto input:
Cherry
1
Kacang Kacang
3
Apple
2
0
Semangka

Conto output:
Apple
3
Kacang
2
Cherry
1
0
Semangka
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION