Hemmelere salam, JavaRush jemgyýeti. Bu gün düzediş barada gürleşeris: nämedigi we Intellij IDEA-da nädip düzetmeli. Makala, Java Core-ni eýýäm az bilýän adamlar üçin niýetlenendir. Kitaphanalary neşir etmek üçin çarçuwalar ýa-da çylşyrymly prosesler bolmaz. Ansat ýöremek. Şonuň üçin özüňizi rahatlandyryň we başlalyň!
resminamalaryna esaslanyp , okaýarys: garaşylýan özüni alyp baryş - nektar ýygnan ähli güllerden ( goşa baha hökmünde), bal ýarysyna deňdir. ýygnan nektar. Taslamada aşakdaky synplar bar:
resminamalarda README faýlynda nektaryň 2-den 1 nisbatynda bal öwrülýändigi ýazylýar:
Işewür analitik bilen habarlaşanymyzdan soň, README faýlynda resminamalaryň ýalňyşlygy bar we täzelenmeli bolar diýen netijä geldik . README faýlyny täzeläliň:
merkezinde akylly görnüş bilen makalalary okamagy dowam etdirip bileris :)
Näme üçin düzediş gerek?
Derrew düşnükli edeliň: kemçiliksiz kod ýok ... Durmuş şeýle işleýär. Şonuň üçin kod garaşyşymyz ýaly işlemese, derrew agsama bolup, hemme zatdan ýüz öwürmeli däldiris. Whatöne näme etmeli? Elbetde,System.out.println
islän ýeriňizde sazlap bilersiňiz we ýalňyşlyk taparsyňyz diýip umyt edip terminaldaky çykyşy tertipläp bilersiňiz. Muňa garamazdan, bu mümkin ... we muny edýärler, hem-de hasaba alyşdan peýdalanyp edýärler (bu hakda şu ýerden okap bilersiňiz ). Theöne kody ýerli enjamda işletmek mümkin bolsa, Düzediş ulanmak has gowudyr . Derrew belläsim gelýär, bu makalada Intellij IDEA-nyň içinde bir taslamany düzetmek meselesine serederis. Uzakdan düzedişler hakda okamak isleseňiz, ine, çeşmämizden bir makala .
Düzediş näme
Düzediş kody düzetmek (barlamak) prosesi, ýerine ýetirilende belli bir ýerde durup, ýerine ýetirişiň gidişine tomaşa edip bilersiňiz. Belli bir ýerde programmanyň ýagdaýyna düşüniň. Durmuşy duruzyp, daşardan hemme zada seredip bilýän ýaly. Gowy, şeýlemi? Biziň maksadymyz, iň gowy görýän ösüş gurşawymyz bolan Intellij IDEA ulanyp, programmalary nädip düzetmelidigini çalt we aňsat öwrenmek.Düzedip başlamak üçin näme gerek
Mugt maslahat berýärin: makalany okaýarkaňyz, şu ýerde beýan ediljek zatlaryň hemmesini ediň, bagtymyza munuň üçin hemme zat bar. Size näme gerek:- Intellij IDEA ösüş gurşawynyň 2019.3.1 we has ýokary wersiýasy. Kimdir biri ýok bolsa, ony göçürip alyp boljak bir baglanyşyk bar. Jemgyýet neşirini göçürip alyň, sebäbi men ulanjak zadym.
- Taslamany GitHub-dan klonlaň we IDEA arkaly import ediň.
Biraz teoriýa ... Men söz berýärin: D.
Biraz düzedip başlamak üçin breakPoint-iň nämedigine düşünmeli we başlamaly birnäçe düwmejiklere düşünmeli. “BreakPoint” programmanyň duruzylmaly ýerini ýa-da ýagdaýyny görkezýän ýörite bellikdir. Çep gapdalynda çep düwmä basmak ýa-da koduň ýerleşýän ýerine basmak we Ctrl + F8 basyp, aralyk nokadyny düzüp bilersiňiz . Bölüniş nokatlary üç görnüşde bolýar: setir belligi, üýtgeýän bellik we usul belligi. Görnüşi ýaly:-
Her setir boýunça:
aňlatmada lambda bar bolsa, IDEA size saýlamagy teklip edýär - aňlatmany tutuş setire ýa-da lambda goýmak:
-
Her usul boýunça:
-
Her synp üçin
- Bee.java:24 - 24-nji setirde ary synpynda
- Main.java:14 - 14-nji setirde esasy synpda
Geliň, düzedişiň ýabany ýerlerine gireliň
Miras aryçy bolanym üçin, düzediş prezentasiýasy üçin arylar tarapyndan nektar ýygnamak, nektary bal bilen gaýtadan işlemek we uýadan bal almak prosesini beýan edýän taslama döretdim. Taslamanyň düýbünde ýerleşýän README faýlynyň- Ary - adaty işçi ary;
- BeeQueen - şa aýal ary;
- BeeHive - ary;
- HoneyPlant - bal ýygnalýan bal ösümligi;
- Esasy -
public static void main()
taslamanyň başlaýan usulynyň ýerleşýän ýeri.
main()
, diňe balyň mukdary hasaplanman, eýsem ýalňyşlyk hem ýüze çykýar ... Şol ýerde nämäniň ýokdugyna seretmeli. Sagyň aşaky burçundaky yz yzyndan, “ HoneyPlant.java:20
RuntimeException” -yň atylýandygyny görüp bileris: Bu edil biziň ýagdaýymyz: “RuntimeException” bar, geliň ýokarda görkezilişi ýaly şeýle kadadan çykma gözlegini goşalyň we main()
usuly işledeliň düzediş tertibi. Munuň üçin Intellij IDEA-daky usuldan öň ýaşyl üçburçluk okuna basyň main()
: we bu nyşan bilen kadadan çykmazdan ozal togtadylan programmany alarys . Doly maglumat almak üçin Düzediş bölümine seretmeli. Programmanyň bu böleginde bar bolan üýtgeýänleri görkezýän üýtgeýjiler bar :
- nektar = 1.0;
- nektarCapacity = -1.0.
if ( nectar == 0 ) {
return 0;
}
Catchöne tutulýan zat, nädogry üýtgeýjini barlaýar ... we bu koddaky näsazlyk. NektarCapacity üýtgeýjisindäki güldäki nektaryň bahasyny barlamagyň deregine , programma usula girýän we nektardan almak isleýän mukdary bolan nektaryň bahasyny barlaýar. Ine, ilkinji näsazlyk! Şonuň üçin ony dogry goýýarys we aňlatmany alýarys:
if ( nectarCapacity == 0) {
return 0;
}
main()
Ondan soň usuly adaty tertipde işleýäris (Run `Main.main()`)
we başga ýalňyşlyk ýok, programma işledi: Programma işledi we jogap berdi: “33.0 bal 2 bal ösümliginden 7 ary öndürildi” Hemme zat gowy bolardy, ýöne jogap nädogry ... Sebäbi ## Documentation
Presentation based on honey getting process.
**Note**: 1 honey point = 2 nectar points
Esasy usuldan iki sany bal ösümliginiň, 30 we 40 birlik nektaryň bardygyny görmek bolýar, şonuň üçin ahyrynda 35 birlik bal almaly. 33-i ýazýar. Beýleki iki bölüm nirä gitdi? ... Indi öwreneris! Main.main()
Munuň üçin 28-nji setirde ýerine ýetirilen nokady düzmeli beeHive.populateHoney()
we main
ýerine ýetiriş usulyny düzetmek tertibinde işlemeli: Geliň, bu meselä has içgin seredeliň. Programma 28-nji setiri ýerine ýetirmezden ozal saklandy. Aşakda işleýän programmadaky ähli maglumatlary beýan edýän düzediş bölümini görýäris. Üýtgeýjiler bölegi, ýokarda belläp geçişimiz ýaly, programmanyň bu böleginden girip boljak ähli üýtgeýänleri we obýektleri öz içine alýar. Çarçuwalar bölüminde programmanyň geçýän ädimleri görkezilýär, öňki ädime seredip, ýerli maglumatlary alyp bilersiňiz. Programmanyň işlemegini dowam etdirmek üçin aşakda görkezilişi ýaly F9 ýa-da ýaşyl nyşany basyp bilersiňiz: Programmany duruzmak üçin gyzyl meýdana basmaly: Programmany düzediş tertibinde täzeden açmak üçin oky basmaly: Ondan soň, programmany ädimme-ädim geçmek üçin iki düwmäni ulanyp bilersiňiz:
- F8 - kod bölüminden geçiň we içerki usullara girmäň;
- F7 - kod bölüminden geçiň we içerki usullary giriziň.
beeHive.populateHoney()
F7 basmalydyrys we dowam etdireris: Indiki, bu usuly ulanyp, ahyryna çenli F8 ulanyp düzediş tertibinden geçeris we bu usulda bolup geçýän wakalary suratlandyrarys:
- 25-nji setir - Akym API ähli arylardan bal ýygnamak üçin ulanylýar;
- 26-njy setir - bar bolan birine bal goşulýar;
- 27-nji setir - şa aýal üçin 2 birlik bal bölünip berilýär;
- 28-nji setir - bu iki birlik balyň umumy mukdaryndan aýrylýar;
- 29-njy setir - ýatgy bu baly iýýär.
## Documentation
Presentation based on honey getting process.
**Note**:
* 1 honey point = 2 nectar points
* 2 honey point queen bee eats every time when beehive populates the honey.
Munuň özi: tapylan ähli näsazlyklar düzedildi, arkaýyn kofe içmegi we JavaRush Gysgaça jemläň
Bu makalada biz düşündik:- ýalňyşsyz iş ýok we düzediş olary çözmegiň ajaýyp usulydyr;
- kesiş nokady we haýsy görnüşleri bar;
- kadadan çykma nokadyny nädip sazlamaly;
- Düzediş tertibinde nädip gezmeli.
Okamak üçin makala
- Makalada ulanylan taslama
- IntelliJ IDEA we düzediş: suwa çümmek däl-de, gark bolmak
- Programmirlemek baradaky ajy hakykat ...
- Resmi resminamalar
- Aragatnaşyk nokatlarynyň görnüşleri. Resmi resminamalar
- Söhbetdeşlik synagy nädip açyk çeşme kitaphanasyna öwrüldi
- Howa biletleriniň bahasyna gözegçilik ulgamyny döretmek: ädimme-ädim gollanma [1-nji bölüm]
- Skyscanner API üçin müşderi döretmek we ony jCenter we Maven Central-da neşir etmek üçin gollanma [1-nji bölüm]
- Gingurnal: näme, nädip, nirede we näme bilen?
GO TO FULL VERSION