Баарына салам, JavaRush коомчулугу. Бүгүн биз мүчүлүштүктөрдү оңдоо жөнүндө сүйлөшөбүз: бул эмне жана Intellij IDEAда мүчүлүштүктөрдү кантип оңдоо керек. Макала Java Core боюнча минималдуу бorми бар адамдар үчүн арналган. Китепканаларды басып чыгаруу үчүн алHowтар же татаал процесстер болбойт. Жеңил басуу. Андыктан өзүңүзгө ыңгайлуу болуңуз жана баштайлы!
documentтерине таянып , биз окуйбуз: күтүлгөн жүрүм-турум - нектар чогултулган бардык гүлдөрдөн (кош мааниде ) балдын жарымына барабар өлчөмдө бал алынат. чогултулган нектар. Долбоор төмөнкү класстарга ээ:
файлында 2ден 1ге чейинки катышта нектар балга айланаары жазылган:
Бизнес-аналитик менен сүйлөшкөндөн кийин, биз documentация README файлында ката бар жана аны жаңыртуу керек деген жыйынтыкка келдик . README файлын жаңырталы:
хабында макалаларды окуй берсек болот :)
Эмне үчүн сизге Debug керек?
Аны дароо ачыктайлы: катасыз code жок... Жашоо ушундайча иштейт. Ошондуктан, эгер code биз күткөндөй иштебесе, дароо аксап, бардыгынан баш тартпашыбыз керек. Бирок эмне кылуу керек? Албетте,System.out.println
мүмкүн болгон жерде нускама берип, андан кийин ката таба аласыз деген үмүт менен терминалдагы чыгарууну карап көрсөңүз болот. Ошентсе да, бул мүмкүн ... жана алар муну, жана алар кылдаттык менен журналга колдонуу (бул жөнүндө окуй аласыз бул жерде ). Бирок codeду жергorктүү машинада иштетүү мүмкүн болсо, Debug колдонуу жакшы . Мен дароо белгилеп кетким келет, бул макалада биз Intellij IDEA ичиндеги долбоорду оңдоону карап чыгабыз. Эгер сизди алыстан оңдоо жөнүндө окууга кызыксаңыз, бул жерде биздин ресурстун макаласы .
Debug деген эмне
Мүчүлүштүктөрдү оңдоо - codeду оңдоо (текшерүү) процесси, аны аткаруу учурунда сиз белгиленген жерде токтоп, аткарылышынын жүрүшүн көрө аласыз. Белгилүү бир жерде программанын абалын түшүнүү. Бул жашоону токтотуп, бардыгына сырттан караганга окшош. Сонун, туурабы? Биздин максат - биздин сүйүктүү иштеп чыгуу чөйрөбүз, Intellij IDEA аркылуу тиркемелерди оңдоону тез жана оңой үйрөнүү.Мүчүлүштүктөрдү оңдоону баштоо үчүн эмне керек
Мен бекер кеңеш берем: макаланы окуп жатканда, бул жерде айтылгандардын баарын кылыңыз, бактыга жараша, бул үчүн баары бар. Эмне керек:- Intellij IDEA иштеп чыгуу чөйрөсү versionсы 2019.3.1 жана андан жогору. Кимде жок болсо, бул жерде сиз аны жүктөп алсаңыз болот. Community Edition жүктөп алыңыз, анткени мен ошону колдоном.
- GitHub'дан долбоорду клондоштуруу жана аны IDEA аркылуу импорттоо.
Бир аз теория... Мен убада берем: D
Мүчүлүштүктөрдү оңдоону бир аз баштоо үчүн, breakPoint деген эмне экенин түшүнүп , баштоо үчүн бир нече ысык баскычтарды түшүнүшүңүз керек . BreakPoint – бул колдонмо токтотулушу керек болгон жерди же абалды көрсөткөн атайын маркер. Сиз сол каптал тилкесин сол чыкылdateу менен же codeдун жайгашкан жерин чыкылдатып, Ctrl + F8 баскычтарын басуу менен үзгүлтүккө учуроо чекин орното аласыз . Үзүлүү чекиттери үч түрдүү болот: сызык белгиси, өзгөрмө белгиси жана метод белгиси. Бул төмөнкүдөй көрүнөт:-
Ар бир сапта:
эгерде туюнтмада ламбда бар болсо, анда IDEA сизге тандоону сунуштайт - туюнтманы бүт сапка же атайын ламбдага коюу:
-
Метод боюнча:
-
Класс боюнча
- Bee.java:24 - 24-сапта Bee классында
- Main.java:14 - 14-сапта Негизги класста
Кеттик, мүчүлүштүктөрдүн жапайы жерлерине кирип кетели
Мен тукум куума аарычы болгондуктан, мүчүлүштүктөрдү аныктоо үчүн презентация үчүн аарылар нектарды чогултуу, бал ширесин кайра иштетүү жана уюктан бал алуу процессин сүрөттөгөн долбоорду түздүм. Долбоордун тамырында турган README файлынын- аары - жөнөкөй жумушчу аары;
- BeeQueen - эне аары;
- BeeHive - бал челек;
- HoneyPlant - бал чогултулган бал өсүмдүк;
- Негизги -
public static void main()
долбоор башталган ыкма кайда жайгашкан.
main()
, балдын саны гана эсептелбестен, ката да пайда болот экен... Ал жерде эмне туура эмес экенин карашыңыз керек. Төмөнкү оң бурчтагы стек изинен, ичинде HoneyPlant.java:20
RuntimeException ыргытылганын көрө алабыз: Бул так биздин жагдай: RuntimeException бар, жогоруда сүрөттөлгөндөй, ушундай өзгөчөлүктү издөөнү кошуп, main()
ыкманы иштетели. мүчүлүштүктөрдү оңдоо режими. Бул үчүн Intellij IDEAдагы жашыл үч бурчтук жебени чыкылдатыңыз main()
: методунан мурун жана биз токтоп калган программаны ушул сөлөкөт менен өзгөчө учур ишке киргенге чейин алабыз.Толук маалымат алуу үчүн мүчүлүштүктөрдү оңдоо бөлүмүн карашыңыз керек. Анын Variables бар , ал колдонмонун бул бөлүгүндө жеткorктүү болгон бардык өзгөрмөлөрдү көрсөтөт:
- нектар = 1,0;
- nectarCapacity = -1.0.
if ( nectar == 0 ) {
return 0;
}
Бирок бул туура эмес өзгөрмөнү текшерип жаткандыгы... жана бул codeдогу ката. NectarCapacity өзгөрмөсүндө жайгашкан гүлдүн ширесинин маанисин текшерүүнүн ордуна , программа ыкмага кирген ширенин маанисин текшерет жана алар ширеден алууну каалаган сумма болуп саналат. Мына, биринчи ката! Ошондуктан, биз аны туура коюп, туюнтманы алабыз:
if ( nectarCapacity == 0) {
return 0;
}
Андан кийин, биз main()
ыкманы кадимки режимде иштетебиз (Run `Main.main()`)
жана ката жок, программа иштеди: Тиркеме иштеп, жооп берди: "33,0 балды 2 бал өсүмдүктөрүнөн 7 аары өндүргөн" Баары жакшы болмок, бирок жооп туура эмес... Мунун баары README ## Documentation
Presentation based on honey getting process.
**Note**: 1 honey point = 2 nectar points
Негизги ыкмадан көрүнүп тургандай, эки бал өсүмдүгү бар, 30 жана 40 бирдик нектар, демек, жыйынтыгында 35 бирдик бал алуу керек. Ал эми 33 деп жазат. Калган эки бирдик кайда кетти?... Эми билебиз! Бул үчүн, биз Main.main()
28-сапка методдун үзгүлтүккө учуроо чекин коюшубуз керек, ал аткарылган жерде beeHive.populateHoney()
жана main
Debug режиминде методду иштетишибиз керек: Келгиле, бул пунктту жакшыраак карап көрөлү. Программа 28-сапты аткаруудан мурун токтоп калды. Төмөндө биз иштеп жаткан тиркемедеги бардык маалыматты сүрөттөгөн Мүчүлүштүктөрдү оңдоо бөлүмүн көрөбүз. Өзгөрмөлөр бөлүгү, мурда айтылгандай, колдонмонун ушул бөлүгүнөн жеткorктүү болгон бардык өзгөрмөлөрдү жана an objectтерди камтыйт. Frames бөлүгү колдонмо өткөн кадамдарды көрсөтөт, сиз мурунку кадамды карап, бардык жергorктүү маалыматтарды ала аласыз. Программанын ишин улантуу үчүн, төмөндө көрсөтүлгөндөй F9 же жашыл сөлөкөттү бассаңыз болот: Программаны токтотуу үчүн кызыл квадратты басышыңыз керек: Тиркемени мүчүлүштүктөрдү оңдоо режиминде кайра иштетүү үчүн, жебени басышыңыз керек: Андан кийин, колдонмо аркылуу этап-этабы менен өтүү үчүн, сиз эки баскычты колдоно аласыз:
- F8 - codeдун бөлүмү аркылуу өтүңүз жана ички ыкмаларга кирбеңиз;
- F7 - codeдун бир бөлүгүнөн өтүп, ички ыкмаларды киргизиңиз.
beeHive.populateHoney()
, биз F7 баскычын басышыбыз керек жана биз улантабыз: Андан кийин, биз F8ди колдонуп мүчүлүштүктөрдү оңдоо режиминен аягына чейин ушул ыкманы колдонуп, бул ыкмада эмне болорун сүрөттөп беребиз:
- 25-сап - Stream API бардык аарылардан бал чогултуу үчүн колдонулат;
- 26-сап - бал бар кошулат;
- 27-сап - ханыша үчүн 2 бирдик бал бөлүнгөн;
- 28-сап - бул эки бирдик балдын жалпы суммасынан алынып салынат;
- 29-сап - жатын бул балды жейт.
## 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.
Мына ушундай: табылган бардык мүчүлүштүктөр оңдолду, биз сабырдуулук менен кофе ичип, JavaRush Жыйынтык чыгаруу
Бул макалада биз түшүндүк:- катасыз иш жок жана мүчүлүштүктөрдү оңдоо аларды чечүүнүн эң сонун жолу;
- үзүү чекити деген эмне жана анын кандай түрлөрү бар;
- өзгөчө учурду кантип конфигурациялоо керек;
- Мүчүлүштүктөрдү оңдоо режиминде кантип чабыттоо керек.
Окууга макала
- Макалада колдонулган долбоор
- IntelliJ IDEA жана Debug: дайвинг эмес, сууда сүзүү
- Программалоо жөнүндө ачуу чындык...
- Расмий documentтер
- Үзүлүү чекиттеринин түрлөрү. Расмий documentтер
GO TO FULL VERSION