Pages

Saturday, December 6, 2014

Java Part 9 ( Arrays )

How to use Arrays in Java



අපි අවසානයටම කතා කරේ තරු රටා print කරන්න හිතන්නෙ කොහොමද කියලානේ.. හැබැයි ඒක දාලා ගොඩක් දවස් යනකන් මේ පැත්තට එන්න බැරි වුනා. ඇත්තටම මේ සති දෙක තුන හොඳටම හිරවුනා. දන්න කට්ටිය දන්නවත් ඇති කොච්චර වැඩ set වුනාද කියලා. හැමදාම අද කීය වෙනකන්හරි ඉඳලා කොහොමහරි දානවා කියලා හිතාගත්තත් මහන්සියට නින්ද ගිහිල්ලා හරි වැඩේ මග ඇරුනා.. කමක් නෑ. අදනම් නිදිමත නැති කරගෙන කොහොමහරි දානවා කියලා හිතාගෙන තමයි මේ වැඩේ පටන් ගන්න සූදානම.. :-)

Arrays

arrays කියන්නෙ java වල තියෙන වැදගත්ම වගේම ගොඩක් අය පටලවාගන්න තැනක්.. ඒක නිසා අපි ටිකෙන් ටික හෙමිහිට වැඩේ හිතන විදියම ඔලුවට දාගමු.. මුලින්ම අපි array එකක් කියන්නෙ මොකක්ද කියලා පොඩි idea එකක් අරගෙනම array එකක් ඕන වුනේ ඇයි කියලා බලමු. දැනට array එකක් කියන්නෙ variable set එකක් එකට තියලා හදාගත්තු variable group එකක් කියලා මතක තියාගන්නකො..

why array?

මෙහෙම හිතමුකො.. අපිට ළමයි 5 දෙනෙක්ගෙ subject 3ක marks තියාගන්න ඕන වෙනවා කියලා ගමුකො.. එතකොට එක ළමයෙක්ට 3 ගානෙ ළමයි 5ට variable 15ක් හදන්න වෙනවා නේද? ඒකත් නෙවෙයි ප්‍රශ්නෙ එක සැරේටම එක ළමයෙක්ට අදාළ marks ගන්න ගියාම ඒ අදාළ variable 3 හොයාගන්න බැරි වෙනවානෙ.. ඉතිං මෙන්න මේ වගේ වෙලාවට තමයි හිතෙන්නෙ අපිට variable 3ක් group කර ගන්න පුළුවන් නම් එහෙම හදාගන්න group 5කට ලේසියෙන්ම ළමයින්ගෙ ලකුණු දාගන්න පුළුවන්නෙ කියලා.. ඕන වෙලාවක ඒවා access කරන්නත් ලේසියි. අන්න ඒක නිසා තමයි අපිට Array වල අවශ්‍යතාවය ආවෙ..

Declare an Array

හොඳට මතක තියාගන්න array එකකදි group කරලා තියාගන්න පුළුවන් එකම ජාතියෙ variable set එකක් විතරයි හොඳද.. දැන් අපි බලමුකො කොහොමද array එකක් declare කරගන්නෙ කියලා. හැබැයි ඊට කලින් අපිට normal variable එකක් declare කරන විදිය බලල ආවනම් හොඳයි කියලත් හිතෙනවා.. එහෙනම් මෙතනින් ගිහින් ඒ ගැන බලලම එන්නකො..

මම උදාහරණයක් විදියට integer variable 5ක් group කරලා හදන array එකක් ගන්නම්කො..




මේ තියෙන්නෙ normal integer variable එකක් හදන එකනේ.. ඉතින් මෙතනදි හොඳට මතක තියාගන්න x කියන්නෙ integer value එකක් තියාගන්න පුළුවන් variable එකක label එකනේ.. array එකක් කියලා අඳුරගන්න තියෙන්නෙ arrays වලදි [] කොටු වරහනක් එනවා.. එහෙනම් integer array එකක් x කියලා හදනවානම්...




දැක්කා නේද? මතක තියාගන්න අමාරු නෑ.. දැන් ඊළඟට කෙනෙක්ට ප්‍රශ්නයක් එන්න පුළුවන් array එකක් කියලා compiler ට අඳුරගන්න දාන මේ කොටු වරහන දාන්න ඕන කොතනටද කියලා.. 




රූපේ පෙන්නලා තියෙන විදියට මේ කොටු වරහන මේ තැන් තුනටම වැරදිලා හරි දාන්න පුළුවන් නේද? ඉතිං java කොච්චර හොඳ language එකක්ද කියනවානම් කොටු වරහන එන්න පුළුවන් මේ තැන් තුනම compiler ට කියලා දීලා තියෙන්නෙ.. ඉතිං ඒක නිසා කාටවත්ම වැරදිලාවත් මේක වරදින්න විදියක් නෑ.. :-p




රූපෙන් පෙන්නලා තියෙන විදියට normal x variable එකට 5 කියන එක දාපු විදියටම x කියන integer array එකටත් 5 කියන value එක දීලා තියෙනවා. ඇත්තටම මෙහෙම කරන්න පුළුවන්ද? උත්තරේ බෑ කියන එක. ඒකට හේතුව තමයි int x කියලා හදන x variable එක තියාගන්නෙ integer value එකක් නිසා එයාට integer value එකක් වෙන 5 තියාගන්න පුළුවන්. හැබැයි int[] x කියලා හදන x variable එක integer array එකක් වෙනුවෙන් හදන variable එකක් නිසා එයාට නිකම්ම integer values තියාගන්න බෑ. එයාට තියාගන්න පුළුවන් integer array එකක් විතරයි. ඒ කියන්නෙ එයාට integer values තියාගන්න බෑ. හැබැයි integer variable එකක් group කරලා තිව්වම ඒක තියෙන්නෙ කොහෙද කියලා address එක තියාගන්න පුළුවන්. 

ඒක නිසා හොඳට මතක තියාගන්න int[] x කියලා අපි හදන්නෙ integer array එක නෙවෙයි අපි ram එකේ හදන integer array එකක් තියෙන්නෙ කොහෙද කියලා හොයාගන්න පුළුවන් වෙන්න ඒකෙ address එක තියාගන්න හදන address variable එකක් නැත්නම් reference variable එකක් කියලා..

අනික මෙතන integer variable කීයක් group කරලද කියලා සඳහනකුත් නෑනේ.. මෙතන තියෙන්නෙ ඕනම integer array එකක address එකක් තියාගන්න පුළුවන් address variable එකක් විතරයි..

දැන් අපි බලමු එහෙනම් කොහොමද මේ කියන integer variable set එකක් group කරන්නෙ කියලා..




රූපේ පෙන්නලා තියෙන විදියට තමයි අපි integer variable 5ක් group කරන්නෙ නැත්නම් integer variable 5ක array එකක් හදන්නෙ.. මෙතනදි මතක තියාගන්න එච්චර අමාරු නෑ. අපි අළුතින් හදන නිසා new කියලා එනවා හදන්නෙ integer array එකක් නිසා int[] කියලා එනවා. අපිට ඕන integer variable 5ක array එකක් නිසා කොටු වරහන ඇතුලෙ 5 කියලා දෙනවා. ඇත්තටම මෙතනදි තමයි අපි අවශ්‍ය variable ගාන කියන්නෙත්. අවශ්‍ය ගාන කොටු වරහන් ඇතුලෙ දාන්න විතරයි තියෙන්නෙ..

දැන් ඉතින් අපිට තියෙන්නෙ මේ හදාගන්න variable group එක නැත්නම් ARRAY එකේ address එක address variable එකකට දාගන්න එක. බලමුකො ඒක කොහොමද කරන්නෙ කියලා..




රූපෙ පෙන්නලා තියෙන විදියට දකුණු පැත්තෙ තියෙන code එක නිසා ram එකේ හැදෙන array object එකේ address එක වම් පැත්තෙ තියෙන x කියන integer array address variable එක ඇතුලට දානවා..

Use Array

දැන් එහෙනම් අපි බලමුකො කොහොමද මේ හදන array එකට values දාන්නෙ කියලයි ආපහු ඒවා ගන්නෙ කොහොමද කියලයි.. ඊට කලින් අපි පොඩ්ඩක් බලලා ඉමු ram එකේ මේ array එක හැදෙන්නෙ කොහොමද කියලා පොඩි චිත්‍ර කෑල්ලකින්..




ram එකේ පැත්තක හැදෙන integer variable 5කින් යුතු array object එකේ address එක x කියන address variable එක ඇතුලට දාලා තියෙනවා..

දැන් නිකමට හිතලා බලන්නකො අපි x කියලා normal integer variable එකක් හදලා ඒකට value එකක් දානවනම් int x; කියලා variable එක හදලා පස්සෙ x = 5 කියලා දාන්න පුළුවන්නෙ.. ඒත් දැන් array address variable එක x වෙච්ච එකේ තියෙන array object එකේ එක variable එකකට value එකක් දාන්නනම් අපි array object එක ඇතුලෙ තියෙන variable 5ටත් label දෙන්න ඕන නේද? ඉතින් array object එකක් හැදෙද්දි ඒ variable ටික (element ටික) 0 ඉඳන් automatically index වෙනවා පහත රූපෙ පෙන්නලා තියෙන විදියට.




දැන් ඉතින් අපිට තියෙන්නෙ value එකක් දෙනවානම් ඒ අදාළ variable එකටම දාන්න කියලා දෙන එක විතරයි. අපි බලමුකො එහෙනම් 3න් වෙනි variable එකට 5 කියන value එක දාන්නෙ කොහොමද කියලා. මෙතනදි හොඳට මතක තියාගන්න 3න් වෙනි element එකේ index එක වෙන්නෙ 2 කියලා මොකද index වෙන්න පටන් ගන්නෙ 0 ඉඳන්නෙ.. ගොඩක් අය මේ දේ වරද්දගන්නවා.. ඒක පොඩ්ඩක් ඔලුවට දාගන්න..




රූපේ පෙන්නලා තියෙන විදියට තමයි 3වෙනි element එකට 5 කියන value එක දාන්නෙ.. මේක මතක තියාගන්න ඇත්තටම අමාරු නෑ... array එකේ address variable එක x නිසා x කියලා ලියලා array එකක් නිසා [] කොටු වරහන දානවා. මොන element එකටද value එක වැටෙන්නෙ ඕන කියලා දෙන්න කරන්න තියෙන්නෙ ඒ element එකේ index එක මේ කොටු වරහනෙ ඇතුලෙ ලියන එක විතරයි. දැන් ඉතිං x[2] කියන්නෙ සාමාන්‍ය integer variable එකක්ම නිසා ඒකට දැන් normal variable එකකට value එකක් දාන විදියටමයි value එක දාන්න තියෙන්නෙ..

අපිට 5 වෙනි element එකට 3 දාන්න ඕන වුනානම් code එක ලියවෙන්නෙ x[4] = 3; කියලා. තේරෙනවා නේද දැන්???

එහෙනම් අපි බලමු කොහොමද දැන් මේ දාපු value එකක් use කරන්නෙ කියලා.. ඇත්තටම ඉතින් මෙච්චර වෙලා කියපුවා තේරුනානම් දැන් ගේමක්ම නෑ ඉතිං..

හිතන්නකො අපිට 3 වෙනි element එකේ තියෙන value එක Print කරන්න ඕන වුනා කියලා..




ඉතින් අපිට තේරෙනවානම් array එක ඇතුලෙ තියෙන තනි variable එකක් access කරගන්න එතනින් එහාට ඒක සාමාන්‍ය variable එකක් වගේම තමයි use වෙන්නෙ..

එහෙනම් කට්ටියටම array කියන්නෙ මොකක්ද? ඇයි array එකක් අවශ්‍ය වුනේ? array එකක් හදන්නෙ කොහොමද? array එකක් use කරන්නෙ කොහොමද කියලා පොඩි හරි idea එකක් ආවා කියලා හිතනවා.. කෝකටත් කියලා මම පොඩි summary එකකුත් දෙන්නම්කො..

Summary



  • Array එකක් කියන්නෙ එකම ජාතියේ variable set එකක එකතුවක්.. (group එකක්)
  • Array එකක ප්‍රධාන කොටස් දෙකක් තියෙනවා address variable එකයි array object එකයි කියලා..
  • Array එකක elements label වෙන්නෙ 0 ඉඳන් index විදියට..
  • 0 ඉඳන් index වෙන නිසා අවශ්‍ය element එකේ index එක වෙන්නෙ ඒකට එකක් අඩු එක.



හිතට ලොකු සතුටක් දැනෙනවා කොහොමහරි නිදාගන්නෙ නැතුව මේක ඉවර කරන්න ලැබුන නිසා.. හෙට දවසෙත් කරන්න ගොඩක් වැඩ තියෙනවා. ඒක නිසා දැන්වත් ටිකක් නිදාගන්න ඕන. ඉතින් කාටහරි ප්‍රශ්නයක් තියේනම් අනිවා අහන්න. මම වැඩිය මුකුත් නොකියා එහෙනම් වැඩේ මෙතනින් නවත්වනවා.. ඊළඟ කොටසින් අපි method ගැන කතා කරලා java programming වලින් කෙලින්ම Object Oriented Programming (OOP) වලට යමු.. එහෙනම්,

මතුසම්බන්ධයි..

Saturday, November 8, 2014

Java Part 8 ( star patterns part 2 )

How to program Star PATTERNS in JAVA ( part 2 )


ඇත්තටම exam එක්ක ටිකක් හිරවුන නිසයි තව පොඩි පොඩි ප්‍රශ්න ටිකකුයි නිසා තමයි දෙවෙනි කොටස දාන්න මෙච්චර පරක්කු වුනේ.. ඇත්තටම පරක්කු වුන එකට sorry වෙන්න ඕන.. කට්ටියම එහෙනම් තනියම තරු රටා print කරන්න try කරලා එන්න ඇති කියලා හිතනවා.. අද අපි බලමු කොහොමද ඒ ටික print කරන්න program එකක් හරියටම තනියම හිතාගන්නෙ කියලා.. ආපහු පාරක් මතක් කරනවා හිතන විදිය පුරුදු වෙන්න code කටපාඩම් කරන්නනම් එපා කිසිම තේරුමක් වෙන්නෙ නෑ.. අපි කෙලින්ම වැඩේට බහිමුකො..

මෙන්න මේ ටික තමයි අපි print කරන්න යන්නෙ..


මුල්ම තරු රටාව විදියට අපිට තියෙන්නෙ තනි තරුවක්නෙ.. ඉතිං කට්ටිය බලනවා ඇති මේකෙ මොන රටාවක්ද කියලා නේද? ඔහොමම ඉන්නකො.. එතකොට තේරෙයි ඒකෙන් පටන් ගන්නෙ ඇයි කියලා.. එහෙනම් අපි ඒකට ලියන code එක මුලින්ම බලමුකො..


මේකෙ ඇත්තටම කාටවත් හිතන්න කියලා ප්‍රශ්නයක්නම් නෑනෙ ඉතින්, එක තරුවක් print කරන්න print statement එකක් ලියන්න විතරයි තියෙන්නෙ.. ඊළඟට අපි එහෙනම් බලමු තරු 5 හේ පේළිය එක print statement එකකින් ලියන්නෙ කොහොමද කියලා..


පොඩ්ඩක් කල්පනා කරලා බැලුවම ඒ රටාව ඇතුලෙ තියෙන්නෙ අර තනි තරුව වගේම 5ක් නේද..? ඉතින් එහෙම තනි තරුව වගේම 5ක් නම් මෙතන තියෙන්නෙ අපිට පුළුවන්නෙ තනි තරුවක් print කරන්න ලියපු code එක 5 පාරක් ලියලා මේක ගන්න.. ඇත්තටම පුළුවන් ඒත් අපිට ප්‍රශ්නෙ තියෙන්නෙ print statement එකක් විතරක්නෙ use කරන්න වෙන්නෙ.. දැන් ඉතින් කට්ටියට මතක් වෙන්න ඕන මොකක් හරි දෙයක් කිසියම් නිශ්චිත වාර ගනනක් run කරවන්න නම් මොකක්ද use කරන්න වෙන්නෙ කියලා.. මතක කට්ටියට නම් ඔලුවට එනවා ඇති for loop එක තමයි use කරන්න ඕන මෙතනදි කියලා.. හරියටම for loop එක run වෙන විදිය මතක නැත්නම් පොඩ්ඩක් බලලා එන්න මොකද එහෙම නැති වුනොත් මේකත් තෙරෙන්නෙ නැතුව යයි.. 

දැන් එහෙනම් අපි බලමු කොහොමද for loop එක use කරලා ඒ රටාව ගන්නෙ කියලා..


මෙතනදි අර තනි තරුව print කරන්න ලියපු code එක 5 පාරක් run කරවන්න කියලා for loop එකක් දාලා කියලා තියෙනවා. පේනවා නේද අපිට තනි තරුවක් print කරන එක ඕන වුනේ ඇයි කියලා? මෙතනදි කරලා තියෙන්නෙ ඒ තනි තරුවට ලියපු code එක 5 පාරක් run කරවන්න කියලා loop එකක් දාපු එක..

දැන් ඊළඟට අපි බලමු කොහොමද 5*4 කොටුව හදන්නෙ කියලා..


දැක්කා නේද? මෙතන තියෙන්නෙ මොකක්ද? අපි අර කලින් ගහපු තරු 5 හේ රටාව වගේ 4 ක් නේද? එහෙනම් අපිට කරන්න තියෙන්නෙ මුලින්ම තරු 5 හේ පේළිය print වෙන්න statements ලියලා ඒ තරු 5 print වෙන code set එක තව 4 පාරක් loop කරවන්න නේද? එහෙනම් අපි බලමු කොහොමද ඒක කරන්නෙ කියලා..


මේකෙ අංක 2 දාලා තියෙන for loop එකෙන් වෙන්නෙ හරහට තියෙන තරු 5 print වෙන එක. ඒ කියන්නෙ ඇතුලෙ තියෙන for loop එක ලියන්න ඕන column ගානට.. එළියෙ තියෙන අංක 1 දාපු for loop එකෙන් වෙන්නෙ පහළට යන එක.. ඒ කියන්නෙ rows ගාන ගැන කියවෙන්නෙ මේකෙන්.. මේ for loop එකේ size එක වෙන්නෙ අපිට පහළට ඕන rows ගණන.. දැන් ඉතින් හිතුනට මෙහෙම code එක ලිවුවම ලස්සනට උඩ තියෙන විදියටම print වෙයි කියලා ඇත්තටම print වෙන්නෙ මෙන්න මේ විදියට..


අවුල් වගේ නේද? එහෙම එක පේළියකටම print වුන හේතුව කියලා දෙන්න කලින් terminal එකේ print වෙන හැටි හරියටම තේරුම් ගන්න මේක බලලම එන්නකෝ..

ඒක බැලුවනම් දැන් තේරෙනවා ඇති ඇයි එහෙම උනේ කියලා.. ඇත්තටම අපි තරු 5ක් print වෙන codes 4 පාරක් loop කරවලා තියෙන නිසා රූපෙ පේන විදියට තරු 5 හේ ඒවා 4ක් print වෙලා තියෙන්නෙ. ඒත් හැබැයි අපිට වෙන්න ඕන තරු 5ක් print වුනාට පස්සෙ අළුත් line එකකට ගිහින් අනිත් තරු 5 print වෙන්නනෙ.. එහෙනම් අපි දැන් කරන්න ඕන තරු 5ක් print වුනාට පස්සෙ cursor එක අළුත් line එකකට යවන එක.. දැන් එහෙනම් බලමු අපි අළුත් line එකක් print කරන්න ලියන System.out.println(""); code එක කොතනද ලියන්න ඕන කියලා..


අපිට අළුත් line එකකට යන්න ඕන වෙන්නෙ තරු 5හේ පේළි එකක් ඉවර වුනාට පස්සෙ නිසා තමයි මෙහෙම ඒ තරු 5 print කරන for loop එක ඉවර වුනාට පස්සෙ අළුත් line එකකට යන statement එක ලියලා තියෙන්නෙ..

ඒකත් තේරුම් ගත්තා නම් අපි දැන් ඊළඟට බලමු කොහොමද අපේ ඊළඟ රටාව print කරන්න හිතන්නෙ කියලා.. මෙන්න මේක තමයි අපිට ඊළඟට තියෙන්නෙ..


මේකෙනම් ටිකක් විතර හිතන්න දෙයක් තියෙනවා.. මුලින්ම තේරෙන්න ඕන දේ තමයි පහළට තියෙන row ගානට එක for loop එකකුයි දකුණට තියෙන column ගානට ඒක ඇතුලෙ තව for loop එකකුයි ලියන්න වෙනවා.

ඊළඟට බැලුවම තේරුම් ගන්න ඕන දේ තමයි කලින් 5*4 රටාවෙදි වගේ මේකෙ හැම row එකකම තරු 5ක් නෙවෙයි තියෙන්නෙ.. ඉතින් අපිට දැන් ප්‍රශ්නයක් එනවා එහෙනම් කොහොමද column ගානට ලියන for loop එකේ size එක තීරණය කරන්නෙ කියලා. තව ටිකක් හොඳට බැලුවමනම් තේරුම් ගන්න පුළුවන් මේ හරහට තියෙන තරු ගණන row ගාන එක්ක සම්බන්ධයක් තියෙනවා කියලා. පළවෙනි පේළියෙදි එක තරුවයි. දෙකේදි දෙකයි, තුනේදි තුනයි, හතරදෙි හතරයි, පහේදි පහයි.. අන්න ඒක නිසා අපි තීරණය කරනවා ඇතුලෙ for loop එකේ size එකට එළියෙ for loop එකෙන් සම්බන්ධ කරන්න වෙනවා කියලා.. දැන් එහෙනම් අපි බලමු කොහොමද ඒ සම්බන්ධෙ හරියටම දෙන්නෙ කියලා.


ආපහු පොඩ්ඩක් මේ 5*4 රටාවෙ code එක බලලම ඉන්නකො.. මේකෙ හරහට තියෙන තරු ගාන හැම තිස්සෙම 5ම නිසා තමයි ඇතුලෙ තියෙන for loop එකේ size එක විදියට 5 දීලා තියෙන්නෙ.. ඒත් දැන් අපිට තියෙන්නෙ එහෙම නියත අගයක් නෙවෙයි නිසා අපිට ඒ අදාළ row එකට අදාළව ඇතුලෙ for loop එකේ size එක හිතලා දෙන්න වෙනවා..


දැන් පේනවා නේද ඇතුලෙ for loop එකේ size එක විදියට අපි දැන් දීලා තියෙන්නෙ row එකේ ඒ run වෙන වෙලාවට තියෙන row value එක.. හැබැයි මෙතනදි පොඩි ප්‍රශ්නයක් තියෙනවා.. පළවෙනි පාර code එක run වෙනකොට j ගෙ අගය 0 යි නේ? හැබැයි ඇතුලෙ for loop එකේ condition එකේදි i කුඩායි 0 කියන එක i ත් 0 නිසා false වෙනවා.. ඒක නිසා පළවෙනි අවස්ථාව මගහැරිලා තරු පේළි 3යි වදින්නෙ.. ( පළවෙනි එක නිකම්ම false වෙලා තරු print වෙන්නෙ නැති නිසා.. )

මුල්ම සැරෙත් condition එක true වෙන්න ඕන නිසා අපි condition එක i කුඩා හෝ සමානයි j කියලා දැම්මොත් හරි නේද? එතකොට 0 සමානයි 0 කියන එකත් true වෙන නිසා කිසිම ප්‍රශ්නයක් වෙන්නෙ නෑ.. දැන් එහෙනම් එන්න ඕන හරිම code එක බලමුකෝ..


දැන් ප්‍රශ්නෙ හරි නේද? පළවෙනි පේළියෙදි එක පාරයි ඇතුලෙ for loop එක run වෙන්නෙ. ඒක නිසා එක තරුවයි print වෙන්නෙ. ඒක Print වෙලා අළුත් line එකකට යනවා. ඊට පස්සෙ දෙපාරක් condition එක true වෙන නිසා තරු දෙකක් print වෙනවා. පස්සෙ තරු 3යි, ඊට පස්සෙ තරු 4 යි.. දැන් තේරෙනවා නේද ඒ රටාව හරියටම හිතලා ගන්නෙ කොහොමද කියලා?

දැන් එහෙනම් අපිට තියෙන අන්තිම රටාවත් බලලම ඉමුකෝ..


මේකෙත් කලින් රටාවෙ වගේම පහළට තියෙන row එක මත දකුණට තියෙන තරු ගණන තීරණය වෙනවා.. හැබැයි හරහට හිටින්නෙ මේකෙ මුලින්ම space වගයක් තියෙන එකනේ.. මාර වැඩේ තමයි. දැන් කට්ටිය හිතනවා ඇති space නැති වුනානම් nothing කියලත් නේද? ඇත්තටම එහෙම වුනානම් මේකත් කලින් රටාවම වෙනවානේ..

දැන් ඉතින් අපි space ටික ගහගන්න ඒකෙ රටාවක් හොයාගන්න ඕන.. ටිකක් හොඳට බැලුවනම් පේනවද එතනත් රටාවක් තියෙනවා කියලා..?


පේනවද spaces වලත් මොකක්ම හරි රටාවක් තියෙනවා.. පළවෙනි එකේදි space 4යි, දෙකේදි 3යි, තුනේදි 2යි, හතරෙදි 1යි, පහේදි 0යි.. බලාගෙන ගියාම එතන size එක එන්නෙ row ගානෙන් අදාළ row එක අඩු කරාම නේද?

පළවෙනි එකේදි space 5 - 1 = 4 යි..
දෙකේදි space 5 - 2 = 3 යි..
තුනේදි space 5 - 3 = 2 යි..
හතරෙදි space 5 - 4 = 1 යි..
පහේදි space 5 - 5 = 0 යි..

රටාව හරි නේද? දැන් ඊළඟට තේරුම් ගන්න ඕන දේ තමයි එක පේළියක් සලකද්දි මුලින්ම space print වෙලා ඊළඟට තරු print වෙලා තමයි අළුත් line එකකට යන්නෙ කියන එක.. දැන් එහෙනම් අපි බලමුකො මුලින්ම space ටිකට විතරක් කොහොමද code එක එන්නෙ කියලා..


මෙතනදි පේනවා නේද මුලින්ම initial value එක විදියට maximum row එකෙන් එකක් අඩු කරලා (5-1 = 4) 4 තමයි දාලා තියෙන්නෙ.. පස්සෙ condition එක විදියට ඒ loop එකේ value එකෙන් (k) අදාළ row එක අඩු කරනවා. for loop එකක් run වෙන විදිය පොඩ්ඩක් බලලා එන්න එතකොට හොඳටම තේරෙයි..

දැන් එහෙනම් අපි space ටිකත් හරියටම print කර ගත්ත නිසා දැන් සම්පූර්ණ code එකම බලමුකෝ..


තේරුනා නේද හිතන විදිය..? ඉතින් හරියට තේරුම් ගන්නවනම් කිසිම අමාරුවක් නෑ මේවයේ.. එක්කෙනෙක්ට හරි පොඩි idea එකක් හරි මේකෙන් ගන්න පුළුවන් වුනා නේද? මම එහෙම හිතනවා.. එක්කෙනෙක් හරි වැඩක් ගත්තොත් මට ඒ ඇති.. එහෙනම් පුරුදු වෙන්නත් එක්ක තව try කරලා බලන්න pattern ටිකක් දෙන්නම්කො එහෙනම්..



ඔන්න එහෙනම් කට්ටිය හිතන විදිය හොඳටම පුරුදු වෙන්නත් එක්ක මේ ටිකත් තනියමම කරන්නකෝ.. මතක තියාගන්න program කරන්න නම් අපිට ඒකේ රටාවක් හොයාගන්න වෙනවා මුලින්ම..

එහෙනම් තරු රටා ගැන මෙතනින් ඉවර කරනවා.. අපි ඊළඟ දවසේ අපිට කලින් කියන්න බැරි වුන java වල විශේෂ වුන loop එක, for-each loop එක ගැනයි තව වැදගත් කොටස් ටිකකුයි එක්ක ඉක්මනටම හමුවෙමු.. එහෙනම් එතකන් ජය වේවා !!

මතුසම්බන්ධයි...

Saturday, October 18, 2014

Java Part 7 ( star patterns part 1 )


How to program Star PATTERNS in JAVA ( part 1 )

අපි අන්තිමටම කතා කලේ java වල cast කරන්නෙ කොහොමද කියලානේ.. අද අපි බලමු කොහොමද programming use කරලා එක එක රටා print කරන්න program එකක් ලියන්නෙ කියලා.. ඉතින් හැමදාම කියනවා වගේ අපි පුරුදු වෙන්න ඕන program එකක් ගහන්න හිතන්නෙ කොහොමද කියලානේ.. ඒක නිසා අපි හෙමිහිට හිතන විදිය පුරුදු වෙමු.. එතකොට ඕනම කෙනෙකුට ඕනම රටාවක් තමන්ම හිතලා print කරගන්න program එකක් ලියා ගන්න පුළුවන් වෙයි.. එහෙනම් අපි වැඩේ පටන් ගමුකො..

ඉතින් තරු රටා ගහන්න කලින් අපිට ඕන වෙන programming theory ටිකක් නම් තියෙනවා.. අපි මුලින්ම ඒ ටික බලලා ඉමු.. කලින් ඒ ටික අපි කතා කරපු නිසා එතනට යන link ටික විතරක් දුන්නම ඇති නේද? නැත්නම් අපිට අළුත් දේවල් වලට යන්න වෙලාවත් මදි වෙනවානේ..

  • අපිට මුලින්ම operators ඕන වෙනවා.. කවුරු හරි operators ගැන දන්නෙ නැතිනම් මෙතනින් ගිහින් ඒ ටික බලලා එන්න..

  • if-else ඕන වෙනවා.. කවුරු හරි if-else ගැන දන්නෙ නැතිනම් මෙතනින් ගිහින් ඒ ටික බලලා එන්න..

  • for loop ඕන වෙනවා සැරටම.. for loop වල හිතන විදිය හොඳටම පුළුවන් වෙන්න ඕන.. ඒක නිසා ඒක නම් දන්න අයත් පොඩ්ඩක් බලලා ආවට කමක් නෑ.. මෙතනින් ගිහින් ඒක බලලා එන්න..

programming කියන්නෙ තනි කරම හිතන විදිය මත පදනම් වෙච්ච දෙයක්නේ.. ඒ කියන්නෙ හිතන විදියයි පුරුදුවෙන්න ඕන.. ඉතින් ඔය හිතන විදිය පුරුදු වෙන්න නම් කොච්චර කරත් තනියම කරලා try කරන්නම ඕන.. ඒක නිසා තමයි මම මේ තරු රටා print කරන විදිය කොටස් දෙකකට කරන්න හිතුවෙ.. 

ඕනම තරු රටාවක් ගහන්න හිතන විදිය පුරුදු වෙන්න නම් අමාරු එකකින් පටන් ගන්නෙ නැතුව ලේසි එකක ඉඳන් අමාරු එ්වට යන්න ඕන.. මම ඒක නිසා එහෙම සරලම එකක ඉඳන් ටික ටික අමාරු වෙනකම් රටා ටිකක් දෙන්නම් මුලින්ම කට්ටිය try කරලා ඉන්න.. නැත්නම් එක පාරටම කියලා දුන්නොත් මම කරන්නෙ ලොකු වැරැද්දක් මොකද හිතන විදිය බැරි programmer කෙනෙක්ට මුකුත් කරන්න බෑ.. ඔන්න එහෙනම් පහළ තියෙන රටා ටික එකින් එක තනියම කරන්න try එකක් දෙන්න.. ඕනම වෙලාවක හිර වුනොත් උදව් කරන්නම් ඒක නිසා දෙපාරක් හිතන්නෙ නැතුව අහන්න හොඳද.. ( hint එකක් දෙන්නම් තරු රටා වලදි for loop එක තමයි mainly use වෙන්නෙ.. print statement එක උපරිම 3 පාරකට වැඩිය use කරන්න බෑ හොඳද.. )



මෙතන මුලින්ම තනි තරුවක් විතරක් තියෙන නිසා මේක මොකක්ද කියලා අහන්න එපා.. හැමදේකම තේරුමක් තියෙනවා.. ඒකයි මම කලින්ම කිව්වෙ හිතන විදිය පුරුදු වෙන්න නම් මේ පිළිවෙලට පුරුදු වෙන්න කියලා.. කට්ටියම තනියම try එකක් දෙන්න තමන්ගෙ code අනිත් අයත් එක්ක බෙදාගන්න අපේ face book page එක හරි use කරලා. එහෙනම් ඊළඟ කොටසින් අපි මේ pattern ටික ගහන්න හිතන විදිය පුරුදු වෙන්නෙ කොහොමද කියලා බලමු..


මතුසම්බන්ධයි..

Tuesday, October 7, 2014

Java Part 6 ( casting )

Java Casting

ඔන්න එහෙනම් අද අපි java casting ගැන ඉගෙන ගන්න යන්නෙ.. ඊට කලින් කවුරු හරි java වල variable ගැනයි data type ගැනයි බැලුවෙ නැත්නම් මෙතනින් ගිහිල්ලා ඒ ටික බලලම එන්නකො..

කෙලින්ම වැඩේට බහිමු. casting කියන්නෙ මොකක්ද කියලා කතා කරන්න කලින් අපිට casting ඕන වෙන්නෙ මොකටද කියලා බලලා හිටියොත් හොඳයි කියලා මට හිතෙනවා.. හැබැයි casting අවශ්‍ය වෙන්නෙ මොකටද කියලා දැන ගන්න කලින් java වල තියෙන data type වල capacity එක පොඩ්ඩක් බලා ගත්තොත් කට පාඩම් කරන්නෙ නැතුව casting ගැන හොඳටම තේරුම් ගන්න පුළුවන් වෙයි කියලා හිතෙන නිසා මම java වල තියෙන data types වල capacity එක මුලින් කියලා ඉන්නම්..

දැන් එහෙනම් කට්ටිය පොඩ්ඩක් මතක් කරන්න බලන්න java වල තියෙන data type 8 මොනවද කියලා......

Variable Capacity


data type 8 තමයි,

  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean
හරි ගොඩක් අය දන්නවනේ byte වල capacity එක, ඒ කියන්නෙ bit ගාන 8යි කියලා.. දැන් එතන ඉඳන් බලමු. integer data type 4 දි bit ගාන 8න් පටන් අරගෙන 2න් ගුණ වෙවී තමයි යන්නෙ..

ඒ කියන්නෙ,

  • byte          8 bit
  • short        16 bit
  • int            32 bit
  • long         64 bit
ඊළඟට තියෙන floating point data type 2 දි integer data type 4න් අන්තිම දෙකේ තියෙන bit ගාන තමයි තියෙන්නෙ..

ඒ කියන්නෙ,

  • float         32 bit
  • double      64 bit
char වල තියෙන්නෙ short වලට සමාන capacity එකක්..

ඒ කියන්නෙ,

  • char       16 bit
boolean වල තියාගන්නෙ logic එකක් (true or false) නිසා true කියන එක 1 විදියට ගත්තොත් false එක 0 විදියට ගන්න පුළුවන්. එහෙම වුනොත් 1 හරි 0 හරි තියාගන්න ඕන වෙන්නෙ එක bit එකක් නිසා boolean data type එකේ capacity එක bit 1යි.

  • boolean  1 bit

variable වල bit size එකත් කියපු නිසා මට හිතෙනවා දැන් මෙහෙම එකම type එකේ data දාන්න data type ගොඩක් තියෙන්නෙ ඇයි කියලත් කියලම ඉන්න.. 

ඇත්තටම අපි මොකක් හරි program එකක්, software එකක් හදන්නෙ අපේ computer එකේ run වෙන්න විතරක් නෙවෙයිනේ.. ඒක නිසා ඒක use කරන user ගෙ machine එකෙත් වැඩ කරන්න ඕන. හැබැයි අපි දන්නෙ නෑ user ගෙ machine එකේ ram එක ලොකු අගයක්ද පොඩි එකක්ද කියලා. ඒක නිසා අපි කෝකටත් කියලා හදන program එකක ram usage එක අඩු වෙන්න හදන්න ඕන..

variable එකක් කියන්නෙ ram එකෙන් වෙන් කරන ඉඩ ප්‍රමාණයක් නිසා අපි ram එක ඉතුරු කර ගන්න නම් variable හදද්දි අවශ්‍ය ප්‍රමාණයටම විතරක් ඉඩ වෙන් කරගන්න ඕන..

උදාහරණයක් විදියට අපි 5 කියන value එක ram එකේ store කරනවා කියලා හිතමුකො.. machine එකේ data save වෙන්නෙ binary විදියට නිසා අපි මුලින්ම මේක 2 පාදයට හදා ගනිමු..

  • 5    =    101 දෙක
මේකට ගිහින් තියෙන්නෙ bit 3යි නේ.. ඉතින් අපි මේ value එක int එකකට දාන්න ගියොත් නිකරුනේ අපි bit 32ක් ram එකේ වෙන් කරලා ඒකෙන් 29 ක්ම use කරන්නෙත් නැතුව තියාගෙන ඉන්නවා. ඇත්තටම මේක අපිට bit 8 කට දැම්මනම් අපරාදෙ වුනත් වෙන්නෙ bit 5ක් නිසා int එකකට නොදා byte එකකට දානකොට ram එකේ ඉඩ ඉතුරු වෙනවා..

අන්න එහෙම අවශ්‍ය විදියට manage කරගෙන data දාන්න තමයි එකම type එකෙන් වුනත් වෙනස් bit size වලින් data type කිහිපයක්ම java වලදි අපිට දීලා තියෙන්නෙ..

Casting

මෙහෙම හිතන්නකෝ.. int variable එකක 5 කියන value එක තියෙනවා.. එතකොට ram එකේ ඉඩ වැඩිපුර යන නිසා අපිට ඒක byte variable එකකට දාන්න ඕන නිසා අපි මෙහෙම ලිවුවොත් හරිද?


අපිට කරන්න ඕන දේ නම් මෙතනදි කරලා තියෙන්නෙ.. හැබැයි compiler මෙහෙම කරන්න ගියාම error එකක් දෙනවා. ඒකට හේතුව තමයි අපි දන්නවා වුනාට 5 කියන value එකට යන්නෙ bit 3ක් විතරක් වුනාට දැන් ඇත්තටම 5 කියන value එක තියෙන්නෙ int variable එකක නිසා ඒක තියෙන්නෙ bit 32 ක පැකට් එකක් විදියට ඉතින් එහෙම bit 32ක් bit 8කට දාන්න බැරි නිසා තමයි මෙහෙම කරන්න ගියාම compiler අපිට error එකක් දෙන්නෙත්..

දැන් අපි කොහොමහරි 5 කියන value එකට අදාළ bit ටික විතරක් වෙන් කරලා ගත්තොත් අපිට byte variable එකකට ඒක දාන්න පුළුවන් වෙනවා නේද?

අන්න එහෙම ලොකු bit ටිකකින් data එකට අදාළ පොඩි bit ප්‍රමාණයක් වෙන් කරගන්න ක්‍රියාවට තමයි casting කියලා කියන්නෙ.. ( සරලව කිව්වොත් එක data type එකක් තව data type එකකට හරවන ක්‍රයාවලිය casting කියලා හඳුන්වන්න පුළුවන්.. )

දැන් අපි බලමු එහෙනම් cast කරලා කොහොමද මේ int variable එකේ තියෙන value එක byte variable එකකට දාගන්නෙ කියලා..

How?

මෙහෙම හිතමුකො... 
අපි byte variable එකක තියෙන value එකක් int variable එකකට දාන්න ගියොත් ප්‍රශ්නයක් වෙනවද? ඇත්තටම bit 8ක packet එකක් ගේමක් නැතුව bit 32 කට දාන්න පුළුවන් නිසා ප්‍රශ්නයක් වෙන්නෙ නෑ.. හැබැයි අනිත් පැත්ත කරන්න ගියාම තමයි අපිට කලින් කතා කරපු ප්‍රශ්නෙ එන්නෙ..

ඒක නිසා ලොකු එකක් පොඩි එකකට දාන්න යනකොට අපිට compiler ට විශේෂයෙන්ම කියන්න වෙනවා එයාගෙන් අදාළ ටික විතරක් කඩලා ගන්න කියලා. එහෙම කියන්න නම් අපිට කරන්න තියෙන්නෙ වරහන් ඇතුලෙ cast කරන්න ඕන type එක ලියන එක විතරයි..

තේරුනේ නෑ නේද? උදාහරණයක් අරගෙනම බලමුකො..


අපිට integer variable එකේ තියෙන 5 කියන value එකට අදාළ data එක තියෙන bit 8ක් කඩලා අරගෙන byte variable එකකට දාන්න ඕන නිසා අපි byte variable එකට int variable එක assign කරන්න කලින් වරහන් ඇතුලෙ byte කියලා දාන්න යන variable එකේ data type එක දීලා compiler ට කියනවා මේ x කියන int variable එකෙන් byte වලට අදාළ bit 8 කඩලා b කියන byte variable එකට දාන්න කියලා.. එතකොට casting වෙලා ඒ value එක byte variable එකට වැටෙනවා..

මෙන්න මෙහෙම තමයි casting කරන්නෙ.. මෙතන int එකකින් byte එකකට දාන එක ගැන විතරක් කතා කළාට variable capacity මතක නම් ඕනම data type එකක casting මේ විදියටම කරන්න පුළුවන්..

Note


  • මේක විශේෂම දෙයක්, හොඳට මතක තියාගන්න java වලදි INTEGER operation එකක් වුනාට පස්සෙ processor එකෙන් ඒ output එක එවන්නෙ 32 bit විදියට. එතකොට එහෙම එන result එකක් දාන්න පුළුවන් int එකකට හරි long එකකට හරි විතරයි. byte වලට හරි short වලට හරි දාන්න ඕනනම් cast කරන්න වෙනවා..

  • FLOATING POINT operation එකක් වුනාට පස්සෙ processor එකෙන් result එක දෙන්නෙ 64 bit විදියට. ඒක නිසා එහෙම එන result එකක් දාන්න පුළුවන් double වලට විතරයි. අපිට float වලට දාන්න ඕනනම් (float) කියලා ලියලා cast කරන්න වෙනවා..

  • එහෙමත් නැත්නම් අපි මේ දාන්න යන්නෙ float variable එකකට කියලා compiler ට කියන්න f අකුරක් value එකේ අගට දාන්න වෙනවා..



එහෙනම් casting ගැන හැමෝටම තේරුණා කියලා හිතනවා.. වෙලාවෙ ප්‍රශ්නෙත් එක්ක මට මේ සැරේ එක දිගටම post එක ලියන්න බැරි වුනා. වෙලාව තියෙන තියෙන විදියට ටික ටික ලිව්වෙ. ඒක නිසා මේකෙ ගලා යාමක් නෑ වගෙත් දැනෙනවා.. කොහොම වුනත් කාට හරි තේරෙන්නෙ නැත්නම් අනිවාර්යෙන්ම අහන්න.. එහෙනම් මම අදට සමුගන්නම්.. ඊළඟ දවසෙ අපි IF-Else එක්ක හමුවෙමු..


Saturday, September 27, 2014

Java Part 5 ( data types and variables )



Data Types and Variables


හැමදාම වෙලාවට post එකක් දාන්න හිතාගෙන හිටියට දැන් ඉස්සර තරම්වත් වෙලාවක් ගන්න ලේසි නෑ.. කමක් නෑ අපි කොහොම හරි වැඩේ කරමුකො.. මම මොනදේ වුනත් මේක නවත්තන්නෙ නම් නෑ. අපි එහෙනම් අද programming වලදි නිතරම අහන්න ලැබෙන variable කියන්නෙ මොකක්ද කියලයි java වල data type කියන්නෙ මොනවද, ඇයි මේවා ඕන වෙන්නෙ කියලයි බලමුකො..

variable

ආ එහෙනම් දැන් කියන්න බලන්න මොකක්ද variable එකක් කියලා කියන්නෙ? මතක නැත්නම් කලින් variable ගැන දාපු post එකට ගිහින් variable එකක් කියන්නෙ මොකක්ද, ඇයි අපිට variable අවශ්‍ය වෙන්නෙ, කොහොමද variable එකක් හදන්නෙ, variable වලට values දාන්නෙ කොහොමද කියලා පැහැදිලිව සරලවම බලලා එන්නකො... මෙන්න variable වලට link එක..

මම කෝකටත් කියලා variable ගැන පොඩ්ඩක් මතක් කරලා දෙන්නම්.. හැබැයි idea එකක් ගන්න විතරයි. කලින් දාපු නිසා ආපහු එහෙම ලොකුවට දාන්න වෙලාව නාස්ති කරන්න බෑ.. අනිත් එක කලින් දැම්මෙ ඔක්කොම programming language වලට පොදුවෙනෙ...

  • variable එකක් කියන්නෙ ram එකෙන් වෙන් කරගන්න memory space එකකට..
  • variable එකක් හදද්දි ප්‍රධාන කොටස් දෙකක් තියෙනවා..
  • පළවෙනි කොටසෙන් දෙන්නෙ data type එක
  • දෙවෙනි කොටසෙන් දෙන්නෙ අපිට ඒ variable එක අඳුරගන්න පුළුවන් වෙන විදියට දෙන name එක
  • variable එකකට value එකක් දාද්දි මුලින්ම data එක දාන්න ඕන variable එකේ නම ලියලා = ලකුණක් දාලා ඉස්සරහින් තමයි value එක දාන්නෙ..
  • මතක් වෙන්නත් එක්ක Integer variable එකක් x කියන නමින් හදලා ඒකට 5 දාන විදිය බලමු.

Data Types

කලින් variable ගැන කියද්දි data type එකක් කියන්නෙ මොකක්ද ඇයි variable එකක් හදද්දි data type එකක් ඕන වෙන්නෙ කියලා කියපු නිසා මම දැන් ආපහු ඒ ගැන කියන්න යන්නෙ නෑ. ඒක නිසා ඒකත් පොඩ්ඩක් බලාගන්න..

දැන් මම කියන්නම් java වල තියෙන data type මොනවද කියලා.. 
java වල data type 8ක් තියෙනවා. පොඩ්ඩක් ඒ ටික මතක තියාගන්න. මම මතක තියාගන්න ලේසි විදියක් කියන්නම්. ඉස්සෙල්ලම බලමු මොනවද data type 8 කියලා.

  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean
දැන් තියෙන ප්‍රශ්නෙ කොහොමද මේවා මතක තියා ගන්නෙ කියන එක නේද? අපි ඒකට මෙහෙම කරමු. මේවා use කරන type එක අනුව group කරලා මතක තියාගමු. එතකොට ලේසි වෙයි..

පූර්ණ සංඛ්‍යා, ඒ කියන්නෙ integer තියාගන්න පුළුවන් data type 4ක් තියෙනවා.

  • byte
  • short
  • int
  • long
දශම සංඛ්‍යා, ඒ කියන්නෙ floating points තියාගන්න පුළුවන් data type 2ක් තියෙනවා..

  • float
  • double
ඊළඟට characters තියාගන්න එක data type එකක් තියෙනවා. මතක තියාගන්න මේ data type එකේ තියාගන්න පුළුවන් එක character එකක් විතරයි. එක අකුරකට වඩා තියාගන්න බෑ..

  • char
අන්තිමටම තියෙන්නෙ logic එකක්, ඒ කියන්නෙ true හරි false ද කියලා හරි තියාගන්න පුළුවන් data type එකක්..

  • boolean
දැන් ටිකක් හරි මතක තියාගන්න ලේසියි නේද? integers තියාගන්න පුළුවන් data type 4යි, floating point තියාගන්න data type 1යි, character වලට data type 1යි, logic වලට data type 1යි එකතු වෙලා තමයි java වල data type 8ක් ඇවිල්ලා තියෙන්නෙ..


දැන් කෙනෙක්ට හිතෙන්න පුළුවන් ඇයි integer වලයි floating point වලයි එකම type එකේ data දාන්න මෙහෙම data type ගොඩක් හදලා තියෙන්නෙ කියලා නේද? ඒකට හේතුවයි මොකක්ද මේ java වල තියෙන casting කියන එකයි, ඇයි casting කරන්න ඕන වෙන්නෙ කියන එකයි මම ඊළඟ Post එකෙන් කියලා දෙන්නම්..

අද දවසට තව ගොඩක් වැඩ කරන්න තියෙනවා.. එහෙනම් ඉක්මනටම ඊළඟ කොටසත් එක්ක හමුවෙමු.. මට පොඩි කනගාටුවක් තියෙනවා මේ blog එක බලන අය ගැන.. මම ලොකු කට්ටක් කාලා මේ වැඩේ කරන්නෙ. ඔයාලා දන්නෙ නැති වුනාට මට සමහර institute වලින් මේක නවත්තන්න කියලා සල්ලි දෙන්නත් හැදුවා. දන්නවනේ java course එකක් කරන්න 50,000ක් විතර යනවා කියලා? ඉගෙන ගන්න දේවල් විකුණන් කන එක නවත්තන්න ඕන නිසයි, දුප්පත් ළමයි ගැන හිතලයි මම මේක කරගෙන යන්නෙ.. එහෙම එකේ මට මේක තේරෙනවද නැද්ද කියලාවත් ඔයාලගෙ අදහස් එකතු කරන්නෙ නැති එක ගැන ඇත්තටම දුකයි මට.. comment කරන්න ඕන නෑ මට idea එකක් ගන්න පුළුවන් වෙන විදියට දාලා තියෙන මේ quick comment එකක් click කරන්නවත් ඔයාලගෙ වෙලාව ටිකක් වැය කරන්න කැමති නෑ කියලා දැනෙන කොට මට පුදුම දුකක් දැනෙන්නෙ... 


දැන් ඒවයින් වැඩක් නෑ. කියපුවා අමතක කරන්න හිතේ දුකට කිව්වෙ මොන ප්‍රශ්නෙ ආවත් දිගටම වැඩේ කරනවා.. ඊළඟ කොටසත් එක්ක ඉක්මනටම හමුවෙමු එහෙනම්..


මතුසම්බන්ධයි..

Friday, September 12, 2014

Java Part 4 ( run our java program )


How to Run our Java Program


java program එකක් run කරන විදිය කට පාඩම් කරනවට වඩා තේරුම් ගත්ත නම් කවදාවත් අමතක වෙන්නෙත් නෑ පැටලෙන්නෙත් නෑ. ඒක නිසා java program එකක් run කරන විදිය ඉගෙන ගන්න කලින් මුලින්ම Basic ටික අනිවාර්යෙන්ම බලන්න හොඳද..


Save Source Code

java කියන්නෙ සම්පූර්ණයෙන්ම code වලින්ම විතරක් ඕනම දෙයක් කරන්න පුළුවන් language එකක්. IDE use කරන්නෙ ලේසි වෙන්න විතරයි. ඒක නිසා අපි මුලින්ම hard coding වලින් ඉගෙන ගනිමු. ඒ කියන්නෙ normal editor එකක program ලියමු. එතකොට කොහොමත් IDE use කරලා program ලියන්න පුළුවන්. අපි ඒක නිසා අපේ වැඩේදි අපි windows වල තියෙන notepad එක use කරමු. 

දැන් එහෙනම් අපි notepad එක use කරලා මුලින්ම Hello World කියලා print කරන්න program එක ලියමුකො..


දැන් අපි මොකක් හරි නමක් දීලා එකේ අගට මේක java code එකක් නිසා ".java" කියලා දාලා මේක save කරගන්න ඕන .. මම Demo කියලා save කරන්නම්කො.. එතකොට මම save කරන file එකේ නම Demo.java කියලා තමයි එන්න ඕන..


ඔන්න එහෙනම් මම Desktop එකේ මම ලියපු මේ code එක Demo.java කියලා save කරගත්තා.. දැන් මම ප්‍රශ්නයක් අහන්නම්.. Source code එකක් කියන්නෙ මොකක්ද? ඇත්තටම source code එක කියන්නෙ අපි ලියන code එක තියන file එකනේ.. එහෙනම් මෙතනදි source code එක වෙන්නෙ Demo.java කියන file එක. හරි නේද? 


Compile Source Code

දැන් ඊළඟට මම අහන ප්‍රශ්නෙ තමයි Basic වලදි කිව්ව වගේ java වල ඉන්න compiler මේ source code එක compile කරලා හදන්නේ මොකක්ද? මතකයිනේ.. java compiler, source code එක compile කරලා හදන්නෙ byte code එක කියලා අතරමැදි අවස්ථාවකට. ඒ වගේම කට්ටියට මතකද දන්නෙ නෑ ඒ හදන Byte code එක හදන්නේ අපි program එකේදි class කියලා ලියලා ලියන class name එකෙන්මයි කියලා කිව්වා..

එහෙනම් අපි මේ source code එක compile කරාට පස්සෙ හැදෙන්න ඕන Example.class කියලා byte code එකක්.. ( අපේ program එකේ class name එක Example නිසා )

දැන් එහෙනම් බලමු අපි මේ program එක compile කරන්නෙ කොහොමද කියලා.. අපි ඒක කරන්නෙ අපේ terminal එක, (windows වලදි නම් command prompt එක) එහෙනම් මුලින්ම අපි command prompt එක open කරගන්න ඕන. ඒකට start වල cmd කියලා type කරලා search කරලා හරි start ----> run වලට ගිහින් එතන cmd ගහලා හරි open කරගන්න ඕන..


දැන් කට්ටියට පේනවා ඇති cmd එකේ අපිට default open වෙන්නෙ අපේ user account එක කියලා.. ඒත් අපේ source code එක තියෙන්නෙ desktop එකේ නිසා අපිට මුලින්ම desktop එකට යන්න වෙනවා.. ඒකට අවශ්‍ය වෙන ප්‍රධාන CMD commands 3ක් තියෙනවා. ඒ ටිකත් පොඩ්ඩක් මතක තියාගන්න.

  • අපිට folder එකක් අැතුලට යන්න ඕනනම් directory එක change වෙන නිසා change directory කියන එක කෙටි කරලා තමයි cd කියන command එක හදලා තියෙන්නෙ. folder එකක් ඇතුලට යන්න ඕනනම් cd කියලා ගහලා යන්න ඕන folder එකේ නම ගහලා enter කරන්න ඕන.. දැන් අපිට යන්න ඕන desktop එකට නිසා අපි ගහන්න ඕන cd desktop කියලා.
  • folder එකකින් ආපස්සට එන්න ඕනනම් කරන්න තියෙන්නෙ cd කියලා ගහලා නම වෙනුවට dot 2ක් ( cd .. ) ගහලා enter කරන එක..
  • අපිට folder එකක් ඇතුලෙ තියෙන directories ටික බලා ගන්න ඕනනම් directory කියන එක short කරලා එන dir කියලා ගහලා enter කරන්න ඕන..


දැන් එහෙනම් අපි අපේ source code එක තියෙන තැනට (desktop එකට) ගිහිල්ලා java compiler ට කියමු අපේ source code එක compiler කරලා දෙන්න කියලා. 

ඒකට කරන්න තියෙන්නෙ java compiler නිසා javac කියලා type කරලා space එකක් තියලා අපේ source code එකේ නම ලියලා enter කරන එක විතරයි.. මෙතනදි අපේ source code එකේ නම Demo.java නිසා අපි ලියන්න ඕන javac Demo.java කියලා..


මේ විදියට error එකක් ආවෙ නැතුව ආපහු අපේ location එක පෙන්නනවා නම් වැඩේ ගොඩ.. ඒ කියන්නෙ දැන් desktop එකේ අපි දීපු class name එකෙන් byte code එක හැදිලා ඇති. මෙතනදි නම් Example.class කියලා file එකක් හැදිලා ඇති. open කරලා බලන්නකො ඒක මොන වගේද කියලා..

හරි. දැන් අපි අපේ source code එක compile කරලා ඉවර නිසා දැන් තියෙන්නෙ run කරන්න. දැන් මම ප්‍රශ්නයක් අහන්නම්. Java වලදි run කරන්නෙ Source code එකද? Byte code එකද? run කරන්නෙ byte code එක නිසා run කරද්දි ලියන්න ඕන java කියලා ලියලා space එකක් තියලා Byte code එකේ නම. මෙතනදි නම විතරයි ලියන්නෙ. ".class" කියලා ලියන්නෙ නෑ. අපේ උදාහරණෙ හැටියට නම් java Example කියලා තමයි ලියවෙන්න ඕන..



Summary

  • directory එක change කරන්න cd (name)
  • ආපස්සට යන්න cd ..
  • directory list එක බලන්න dir
  • compile කරන්න ලියන්න ඕන javac (source code)
  • run කරන්න ලියන්න ඕන java (class name)

දැන් තව දෙයක් මතක තියාගන්න. අපි ගොඩක් වෙලාවට java වල source code එක save කරන්නෙ class එකට දෙන නමින්මයි. ඒකට හේතුව තමයි එතකොට වරදින්න තියෙන සම්භාවිතාවය අඩුයි. ඒ කියන්නෙ එතකොට ලියන්න තියෙන්නෙ,

  • javac Example.java
  • java Example
පේනවානෙ.. එකම විදිය නිසා ලේසියෙන් වරදින්නෙ නෑ. ඒ වගේම මතක තියා ගන්න සමහර වෙලාවට අපි class එකක් හදද්දි ඒකට ඉස්සරහින් public කියලා ලියනවා. ඒ කියන්නෙ public class එකක් හැදුවොතින් ඒක අනිවාර්යෙන්ම save කරන්න ඕන class name එකෙන්මයි..


එහෙනම් මොනවා හරි අවුලක් තිබුනොතින් අහන්න හොඳද.. අපි එහෙනම් ඊළඟ කොටසෙදි Java වල තියෙන data type ටිකයි ඒවා use කරලා variable හදලා ඒවා use කරන විදියයි බලමුකො..

Java Part 3 ( print anything )


How to print ANYTHING in JAVA


ගොඩක් දවසකින් අපේ කුප්පියට කොටසක් එකතු කරන්න බැරි වුනා. කොහෙද මේ campus වල මේ අළුත් semester system එක නිසා අපිව හැම පැත්තෙන්ම හිර කරලානෙ තියෙන්නෙ.. මේ වැඩේ නිසා ලංකාවේ අළුත් දේවල් හොයා ගන්නත් බැරි වෙනවා.. campus ළමයි වගේම lecturers ලත් හිරවෙලානෙ දැන්.. ඒක නිසා දෙගොල්ලොන්ටම research කරන්න වෙලාවක් නෑ.. ඒවට ඉතින් කරන්න දෙයක් නෑ. දැන් එහෙනම් පුළුවන් වුන වෙලාවෙ අපේ වැඩේ පටන් ගමුකො..

ඔන්න මම කලින් කියලා දුන්නා Java වල basic ටික. ඒක අතෑරලා නම් වෙන කිසිම දෙයක් අල්ලගන්න හිතන්නවත් එපා. basic නැතුව ඉගෙන ගන්න කිසිම දේක වැඩක් නෑ.. ඒක නිසා ඒ ටික කාටහරි බලන්න බැරි වුනානම් මෙතනින් ගිහින් ඒක බලලාම එන්නකෝ..


Print()

මුලින්ම බලමු මේ print කරනවා කියන්නෙ මොකක්ද කියලා. ඇත්තටම programming වලදි print කරනවා කියන්නෙ printer එකක් use කරලා A4 කොලයක් print කරන එකනම් නෙවෙයි.. එහෙනම් මොකක්ද මේ programming වලදි print කරනවා කියන්නෙ? program වලදි print කරනවා කියන්නෙ මොකක් හරි දෙයක් terminal එකේ ලියන එකට.. terminal එක කියන්නෙ windows වල තියෙන command prompt (cmd) එකටමයි. linux වලදි තමයි command prompt එකට terminal එක කියලා කියන්නෙ. ඉතින් ගොඩක් Programmers ලා linux use කරන නිසා තමයි හැම තිස්සෙම terminal එක කියලම කියන්නෙ..

හරි දැන් අපි බලමු java program එකකින් කොහොමද අපේ නම print කරන්නෙ කියලා..


මෙන්න මේ තියෙන code එකෙන් තමයි අපිට ඕන කරන දෙයක් terminal එකේ print කරන්න තියෙන්නෙ..
මෙතන හොඳට මතක තියාගන්න System කියන වචනෙ පළවෙනි අකුර, ඒ කියන්නෙ S capital වලින් තියෙන්න ඕන. අනිත් ඔක්කොම අකුරු simple. එහෙම නැති වුනොත් error එකක් දෙනවා හොඳද.. ඒක නිසා ඒක අමතක කරන්න එපා. දැනට පොඩ්ඩක් මතක තියාගන්න ඉස්සරහට මේ හැම code එකක්ම ඔයාලටම තේරුම් ගන්න පුළුවන් වෙයි.. :-)

දැන් කවුරු හරි මගෙන් අහන්න පුළුවන් අපේ නම, ඒ කියන්නෙ අපිට print කරන්න ඕන දේ කොහේද ලියන්න ඕන කියලා. මේකෙ අපිට ලියන්න ඕන දේවල් ලියන්න තියෙන්නෙ print කියන එකේ වරහන ඇතුලේ තියෙන double quota ("") ඇතුලේ. හොඳට මතක තියාගන්න මේ double quota ඇතුලෙ ලියන ඕනම දෙයක් ඒ විදියටම terminal එකේ print වෙනවා.. ඒ වගේම කලින් BASIC වලදි කිව්වා වගේ මේ හැම code එකක්ම ලියන්න ඕන main method එක ඇතුලේ..

දැන් එහෙනම් අපි බලමු "Hello World" කියලා print කරන්නෙ කොහොමද කියලා..


Example කියන class එකක් හදලා, ඒක ඇතුලෙ main method එක හදලා ඒක ඇතුලේ අපිට Hello World කියලා print කරන්න ඕන නිසා System.out.print("Hello World"); කියලා ලියලා තියෙනවා. මෙතනදි මම කලින් කිව්වා වගේ print කියන method එකේ "" ඇතුලෙ ලියන ඕනම දෙයක් print වෙන නිසා Hello කියලා print වෙලා ඒකෙ තියෙන space එකත් print වෙලා තමයි World කියලා print වෙන්නෙ. 


println()

දැන් අපිට ඕනම දෙයක් print කරගන්න පුළුවන්නෙ.. හැබැයි පොඩි ප්‍රශ්නයක් තියෙනවා. අපිට Hello World කියලා මුල් පේළියෙ print කරලා ඊළඟ එකේ Sri Lanka කියලා print කරන්න ඕන වුනා කියලා හිතන්නකො.. අපි code එක ලියලාම බලමුකො.


මෙහෙම මුලින්ම Hello World කියලා print කරලා ඊළඟ line එකේදි Sri Lanka කියලා print කරාට output එක එන්නෙ මෙන්න මේ විදියට..


දැක්කද? හිතුව දේ වුනේ නෑ නේද? ඒකට හේතුව තමයි මේ print() method එකේදි කරන්නෙ ඒකෙ double quota ඇතුලෙ දෙන දේවල් එහෙමම print කරලා ඒ ඉවර වුන තැනින්ම cursor එක තියාගන්න එක. එතකොට ආපහු පාරක් print() method එක run වෙද්දි අන්තිමට cursor එක තියෙන තැන ඉඳන් print කරන නිසා තමයි Hello World ඉවර වුන තැනින්ම Sri Lanka කියලත් print වෙලා තියෙන්නෙ. එහෙනම් අපි කරන්න ඕන දේ තමයි Hello World කියලා print වුනාට පස්සෙ cursor එක අළුත් line එකකට යවන එක.

දැන් බලමු කොහොමද එකක් print වෙලා ඉවර වුනාම cursor එක අළුත් line එකකට යවන්නෙ කියලා.. මේ print method එක ඇතුලෙදි back slash එකත් එක්ක ( \ ) n අකුර දුන්නොත් අන්න එහෙම තියෙන තැනදි cursor එක new line එකකට යනවා.. එහෙනම් අපිට දැන් කරන්න තියෙන්නෙ Hello World කියලා print වෙලා ඉවර වුනාට පස්සෙ \n කියලා ලියලා cursor එක අළුත් line එකකට යවන එක. දැන් අපි එහෙනම් ඒකත් කරලා බලමුකො..


දැන් අපි Hello World ඉවර වුනාට පස්සෙ \n දීලා තියෙන නිසා Hello World කියලා print කරලා cursor එක අළුත් line එකකට යවන නිසා අළුත් line එකක තමයි Sri Lanka කියලා print වෙන්නෙ. එහෙනම් අපේ වැඩේ හරි නේද? 

දැන් යම් දෙයක් print කරලා ඉවර වුනාම අළුත් line එකකට යන්න ඕනනම් හැමතිස්සෙම මෙහෙම \n දෙන එක කරදර නිසා java වලදි ඒකටත් code එකක් දීලා තියෙනවා.


මේකෙ තියෙන එකම වෙනස print කියන එකෙන් පස්සෙ ln කියලා තියෙන එක විතරයි. ඒ කියන්නෙ අපිට අළුත් line එකකට යන්න ඕනනම් කරන්න තියෙන්නෙ print එකේ අවසානෙට \n දාන එක වෙනුවට println method එක use කරන එක විතරයි..

ආ.... මාර වැඩේනේ මට Java Program එකක් ලියන විදිය කියලා දුන්නට ඒක run කරන විදිය කියලා දෙන්න බැරිවුනානෙ... එහෙනම් මෙතනින් ගිහින් කොහොමද java program එකක් compile කරලා run කරන්නෙ කියලා බලාගන්නකො..


එහෙනම් හැමෝටම java use කරලා ඕනම දෙයක් print කරන්න පුළුවන් කියලා හිතනවා. මොනවා හරි අවුලක් තිබුනොතින් අහන්න හොඳද.. අපි එහෙනම් ඊළඟ කොටසෙදි Java වල තියෙන data type ටිකයි ඒවා use කරලා variable හදලා ඒවා use කරන විදියයි බලමුකො..

Tuesday, August 26, 2014

Java Part 2 ( java basics )


How to write a Java Program (basics)


ඔන්න එහෙනම් අපේ පළවෙනි Java Program එක ලියන්න තමයි මේ සූදානම.. කට්ටිය එහෙනම් JDK එක install කරගෙන ඕනම තැනක ඉඳන් java program එකක් run කරන්න පුළුවන් වෙන විදියට Path එකත් හදාගෙනනෙ ඉන්නෙ.. ( කියලා මම හිතනවා. තාම හැදුවෙ නැත්නම් මෙතනින් ගිහින් හදාගන්නකො.. ) ඔන්න එහෙනම් අපි වැඩේ පටන් ගමු. හැබැයි ඊට කලින් ඇයි අපි java ම ඉගෙන ගන්නෙ කියලා පොඩ්ඩක් බලලා ඉමු.


JAVA

C language එක දියුණු කරලා හැදුවා C++ language එක. ඒ C++ දියුණු කරලා එක team එකක් හැදුවා C#. මේ C#  use කරන්නෙ ගොඩක්ම microsoft products වලට. තව team එකක් C++ දියුණු කරලා හදාගත්තා JAVA කියන language එක. මේක open source නිසා ඕනම කෙනෙක්ට use කරන්නත් පුළුවන් වගේම ඕනම කෙනෙක්ට තමන් අළුතින් හොයා ගන්න දේවල් java වලට එකතු කරන්නත් පුළුවන්. මෙන්න මේ හේතුව නිසා java ගොඩක් ඉස්සරහට ආවා. ඒ වගේම java කියන්නෙ English වලට ගොඩක්ම ආසන්න language එකක්. ඒක නිසා ඉගෙන ගන්න අමාරුත් නෑ..

ඊටත් වඩා වටිනම දේ තමයි අනිත් ගොඩක් language වලදි program එක (software එක) run වෙන්නෙ ඒ හදපු OS එකේම විතරයිනේ.. ( ඒ කියන්නෙ XP වල ඉඳන් හැදුවනම් run වෙන්නෙත් XP වල විතරයි. 7 වලවත් linux, apple වගේ වෙන OS වලවත් run වෙන්නෙ නෑ ) හැබැයි java වලින් හදන program එකක් ඕනම OS එකක run කරවන්න පුළුවන්. ඒකට හේතුව තමයි අනිත් languages වල ඉන්න compiler ( අපිට තේරෙන භාෂාවෙන් ලියන program එක computer එකට තේරෙන භාෂාවට හරවන කෙනා ) අපේ source code එක හරවන්නෙ කෙලින්ම ඒ OS එකට තේරෙන machine code එකකට වුනාට java compiler අපේ source code එක හරවන්නෙ byte code කියලා අතරමැදි අවස්ථාවකට.


JVM (Java Virtual Machine)

දැන් කෙනෙක්ට හිතෙන්න පුළුවන් ඉතින් අතරමැද අවස්ථාවකට compile කරා කියලා වෙනස මොකක්ද කියලා. ඇත්තටම java වල රහස තියෙන්නෙ මේ JVM එකත් එක්ක. මොකද JAVA කියන එක platform independent වෙන්නෙ මේ JVM එක නිසාමයි. ඇත්තටම JVM එකෙන් කරන්නෙ අර java compiler හදන byte code එක OS එකට තේරෙන භාෂාවට හරවලා දෙන එක. දැන් ඊළඟ ප්‍රශ්නෙ jvm එකට එහෙම byte code එකේ තියෙන දේවල් OS එකට තේරෙන්න හරවලා දුන්නට ඒක නිසා කොහොමද ඕනම OS එකක run කරන්න පුළුවන් වෙන්නෙ කියන එකනේ.. ඒකට උත්තරේ තමයි දැන් ඕනම OS එකක වගේම ගොඩක් electronic උපකරණ වලත් JVM එකක් තියෙනවා. දැන් එහෙනම් හරිනේ.. ඕනම OS එකක JVM එකක් ඉන්නවනම් Java වලින් හදන byte code එක ඕනම OS එකක run කරවන්න පුළුවන්නේ..  :-)


Our First Program

ඕනම java program එකක් ගහද්දි තියෙන්නම ඕන ටික තමයි මේ කියලා දෙන්නෙ. ඒක නිසා මේ ටික හොඳටම මතක තියාගන්න ඕන. ( අවුලක් නෑ හැමතිස්සෙම use වෙන නිසා බලෙන් කට පාඩම් කරන්න ඕන නෑ මතක තියාගන්න. ) මම හැමදේකම හේතු කියලා දෙන්නම් ඒත් මේ ඒකට වෙලාව නෙවෙයි. ඒක නිසා දැනට ගිරා පැටියෙක් දාගන්න. ඉස්සරහට මේ හැමදේකම තේරුම් කියලා දෙන්නම්කො.. 


java වලදි programs ලියන්නෙ class එකක් ඇතුලේ.. ඒ කියන්නෙ class එකක් කියන්නෙ මෙතනදි codings තියාගන්න මොකක් හරි දෙයක් කියලා හිතාගන්නකො. ( මේක ගැන පස්සෙ කියලා දෙන්නම්. දැනට idea එකක් විතරක් ඔලුවට දාගන්න. ) ඉතින් මේ class එකක් හදන්නෙ උඩ රූපේ පෙන්නලා තියෙන විදියට class කියලා ලියලා ඒ class එකට දෙන්න ඕන නම දෙන්න ඕන. ( මෙතනදි නම් නම Example ) ඊට පස්සෙ මේ class එක යටතේ දේවල් තියෙන නිසා curly braces දාලා ඒක ඇතුලෙ තමයි ඒවා ලියන්න ඕන.. ඇත්තටම මම කලින් කියපු byte code එක හැදෙන්නෙ මේ class එකට දෙන නමින්..

දැන් ඊළඟට තියෙන ප්‍රශ්නෙ අපි දැන් කොහේද codes ලියන්නෙ කියන එකනේ.. JVM එක හදන කොට එයාට කියලා දීලා තියෙන්නෙ අපි මේ හදන class එකක main කියලා function එකක් තියේනම් ඒක ඇතුලෙ තියෙන codes ටික run කරන්න කියලා. එහෙනම් අපිට වෙන්න ඕන දේවල් ලියන්න ඕන ඒ main කියන function එක ඇතුලේ.. ඇත්තටම function එකක් කියන්නෙ codes ටිකක් ලියලා තියන තැනක් කියලා දැනට idea එකක් ගන්නකෝ.. දැන් එහෙනම් එහෙමම මතක තියාගන්න java වලදි අපි මේ function එකට කියන්නෙ method එකක් කියලා. හරි නේද අමතක කරන්න එපා function එකම තමයි කියන නම විතරයි වෙනස් වුනේ.. දැන් එහෙනම් අපි බලමුකෝ මේ කියන main method එක හදන්නෙ කොහොමද කියලා..


උඩ රූපෙ පෙන්නලා තියෙන විදියට තමයි main method එක හදන්නෙ.. මෙතනදි හොඳට මතක තියාගන්න. public කියන වචනෙයි static කියන වචනෙයි void කියන වචනෙයි අනිවාර්යයි.. ඊට පස්සෙ තියෙන්නෙ ඉතින් main කියන නමනෙ.. මෙතෙනට වෙන නමක් තියෙන්නත් පුළුවන් හැබැයි JVM එකෙන් run කරන්නෙ මෙතන main කියලා තියෙන method එක විතරයි කියලා අමතක කරන්න එපා. ඊට පස්සෙ වරහන් ඇතුලෙ තියෙන String args[] කියන එකත් ලියන්න අමතක කරන්න එපා. දැන් ඉතින් අපි මෙහෙම හදාගත්ත main method එකේ curly braces දාලා ඒක ඇතුලෙ අපිට වෙන්න ඕන දේවල් ටික ලියන්න තියෙන්නෙ..

දැන් idea එකක් තියෙනවා නේද? එහෙනම් බලමුකො කොහොමද මේ main method එක class එකක් ඇතුලෙ තියෙන්නෙ කියලා..



මෙතන මෙහෙම පැහැදිලිව code එක පේනවා නේද? ඒක තමයි java වල standard එක මොකක් හරි දෙයක් යටතේ තව දේවල් තියෙනවා නම් ඒවා එක tab එකක් තියලා ටිකක් එහාට කරලා ලියන්න අමතක කරන්න එපා. ඒ standard එකට හැමෝම ලියන කොට පැහැදිලිව errors වුනත් හදා ගන්න පුළුවන් අපිට.

එහෙනම් කියපු ටික අමතක කරන්න එපා.. හිතනවා හැමෝටම තේරෙන්න ඇති කියලා. එහෙනම් අදට මම සමුගන්නම්.  කාට හරි ප්‍රශ්නයක් තියේනම් අහන්න අමතක කරන්න එපා. ඒ වගේම මේ කරන දේ ගැන අදහසකුත් තියලා යන්න පුළුවන්නම් ඒක මට ලොකු හයියක් වෙයි.. අපි ඊළඟ කොටසෙදි කොහොමද අපිට ඕන දෙයක් java program එකකින් print කරන්නෙ කියලා බලමුකො..



Contact Form

Name

Email *

Message *