හත්වන
පාඩම.(BigInteger,BigDecimal)
මන් කිව්වනේද අර ලොන්ග්,ඩබල් කියන ප්රිමිටිවෙ ටයිප් වල පරාසයක් ගැන.ඒ වගේම
දැන් තමයි ඒ පරසයෙන් එහා
තියන වැලියු එක්ක ඔපෙරේෂන් කරන වෙලාව.
මුලින්ම අපි පොඩ්ඩක් package ගැන
බලමු.
අපි ජාවා වල තියන package පාවිච්චි කරාම අපිට
ඒවගෙන් ගොඩක් ලේසියෙන් ප්රෝග්රෑම් එක කරගන්න පුලුවන් වෙනව.මේ package කියන්නෙ
ජාවා වල pre programed class වල එකතුවක්.ඒ කියන්නෙ අපි මුල ඉදලම හැම කෝඩ් එකක්ම ලියන්න ඕනි නෑ මේ
හන්ද.ඒ package වල තියන classes
call කරල ඒවගෙ තිඅයන pre
defined මෙතඩ් පාවිච්චි කරල අපේ වැඩ ලේසි කරගන්නව.ඉතින් තේරෙනව නේද ඒ package import කරන්න තමයි දැන් යන්නෙ කියල.
ඔයලට ඕනි විදියට package හදන
විදියත් ඉදිරියේදි බලමු.
සමහර input ,user කෙනෙක්ගෙන්
read කරගන්න.ප්රින්ට්
එකක් දෙන්න.හැමදේකටම වගෙ මේ package
ඕනි වෙනව.
System.out.println(); අයත් වෙන්නෙ lang package එකට.මේක
අමුතුවෙන් import කරන්න අවශ්ය නෑ.මේ package එක නිකන්ම import වෙනව අපි
class එකක් හදනකොට.අනෙක් සමහර ඒවනම් import කරන්න වෙනව.
අපි user ගෙන් input read කරනකොට util package එක බාවිත
කරනව.ඉදිරියේදි package ගොඩක් import
කරන programe හමුවෙනව.
ඇයිද දන්නවද අපිට ඕනි
වෙනකොට විතරක් import කරන්නෙ.සේරම එකපාර claas
එක හදනකොට import
උනොත් වෙන්නෙ නිරපරාදෙ අපි processing power එක,memory use කරනෙක
වෙනව.ඒක වලක්වන්න තමයි ඕනි package
එක ඕනි උනාම import
කරන්නෙ.
package import කරන්කොට අපි class නේම් එකට
උඩින් import කරන package එකේ ස්ටේට්මන්ට් එක ලියන්නෙ.අපිට එකපාර package ගනනාවක්
උනත් import කරන්න පුලුවන්.
දැන් අපි BigInteger class එකෛ BigDecimal class එකයි import කරගමු.
import java.math.BigInteger;
import java.math.BigDecimal;
public class BIgNumber
{
public static void main(String[]
args)
{
BigInteger b= new
BigInteger("133");
BigInteger c=new
BigInteger("6");
BigInteger d1=b.add(c);
//BigInteger d11=b.add(new
BigInteger("6"));
BigInteger d2=b.subtract(c);
BigInteger d3=b.multiply(c);
//BigInteger d33=b.multiply(new
BigInteger("6"));
BigInteger d4=b.divide(c);
BigInteger d5=b.remainder(c);
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
System.out.println(d4);
System.out.println(d5);
BigDecimal e= new
BigDecimal("12.9");
BigDecimal f=new
BigDecimal("4.3");
BigDecimal g=e.divide(f);
System.out.println(g);
System.out.println(e.divide(f));
}
}
මෙතන පොඩි ගනන් use කරාට
ඔයාල ලොකු නම්බර් දල බලන්න 45645645456465456465
වගෙ.
මෙන්න මන් import කරගත්ත
විදිය hightlight කරල තියෙන්නෙ.java
math package එකේ BigInteger
class එකයි ,BigDeimal
class එකයි.
class එක සේව් කරල රන් කරම එන output බලන්න.comment දාල තියන
ඒවගෙ comment අයින් කරල ඔපරේෂ්න් කරල බලන්න.
BigInteger හදුන්වනකොට ඒව define කරන
විදිය තේරුම්ගන්න. පේනවද "" පාවිච්චි කරල කියල හරියට String වල
වගේ.මෙතනදි අපි දෙන වැලියු එකේ String
එකක් තමයි use කරන්නෙ.මොකද String
වලදි දිග length
එකක් පාවිච්චි කරන්න පුලුවන් නිසා.
BigInteger class එකෙ pre defined මෙතඩ්
ටිකක් තමයි add,subtract,multiply,divide,remainder
කියන මෙතඩ්.
දශම ඕනි නම් අපි Use කරන්නෙ BigDecimal.
මේ BigDecimal වලදි
පොඩි අව්ලක් තියනව. 16 ය 4.5 බෙදුවම 3.55555555555555..
එනවනෙ.එතකොට සමාවර්ත
වෙනවනෙ.මේ BigDecimal වලදි මේ විදියට devide මෙතඩ් එක පාවිච්චි කරාම
අවුට්පුට් එක දෙන්නෙ නෑ.මෙහෙම
බෙදනකොට දශම ස්තාන කීයක් ඕනිද කියල දුන්නොත් හරිනෙ.
BigDecimal e= new
BigDecimal("123");
BigDecimal f=new
BigDecimal(33);
System.out.println(e.divide(f,4,BigDecimal.ROUND_UP));
මෙන්න ට්රයි කරල
බලන්න.මෙතනදි දශම ස්තාන 4 කට තමයි අගය ගන්නෙ.එහෙම ගන්නකොට එතනින් එහ අගයන් ටික අයින්
වෙනවනෙ.එතනදි අපි ඊලග දශම සංක්යාවට round කරනව කියල තමයි මෙතනදි කියන්නෙ.
System.out.println(e.divide(f,4,BigDecimal.ROUND_DOWN));
මෙහෙමත්
කරන්න පුලුවන්.
මේ
BigInteger වලයි BigDecimal
වලයි තව මෙතඩ් ගොඩක් තියනව.දැනට මේ ටික බලන්න.
System.out.println(e.equals(f));
මේකෙන්
බලන්නෙ ඒ නම්බර් දෙක සමනද කියල.සමනයි නම් true නැත්නම් false ප්රින්ට්
වෙනව.
ඉස්සරහට
String වල මෙතඩ් කරාම
ඒවගෙ තියන සමහර මෙතඩ් පවිච්චි කරන්න
පුලුවන් මේ නම්බර් එක්ක.