package lt.bit.truplemnos; public class Trupmena { private int sveikojiDalis; private int skaitikis; private int daliklis; public Trupmena(int sveikojiDalis, int skaitikis, int daliklis) { this.sveikojiDalis = sveikojiDalis; this.skaitikis = skaitikis; this.daliklis = daliklis; this.prastinti(); } public Trupmena(int skaitikis, int daliklis) { this.skaitikis = skaitikis; this.daliklis = daliklis; this.prastinti(); } public int getSveikojiDalis() { return sveikojiDalis; } public void setSveikojiDalis(int sveikojiDalis) { this.sveikojiDalis = sveikojiDalis; } public int getSkaitikis() { return skaitikis; } public void setSkaitikis(int skaitikis) { this.skaitikis = skaitikis; } public int getDaliklis() { return daliklis; } public void setDaliklis(int daliklis) { this.daliklis = daliklis; } public String toString(){ if (sveikojiDalis==0){ return skaitikis+"/"+daliklis; } if (skaitikis==0){ return ""+sveikojiDalis; } return sveikojiDalis + " " + skaitikis + "/" + daliklis; } private void prastinti(){ int bdd=1; for (int i=2; i<=skaitikis && i<=daliklis; i++){ if (skaitikis % i==0 && daliklis%i==0){ bdd=i; } } skaitikis/=bdd; daliklis/=bdd; if (skaitikis>=daliklis){ sveikojiDalis+=skaitikis / daliklis; skaitikis %= daliklis; } } /** * Metodas prie trupmenos sveikosios dalies prideda skaičių sk * @param sk - skaičius kurį reikia pridėti */ public void prideti(int sk){ this.sveikojiDalis+=sk; } public void prideti(int sk, int dal){ this.skaitikis=this.skaitikis*dal+sk*this.daliklis; this.daliklis=this.daliklis*dal; this.prastinti(); } public void prideti(int sveikojiDalis, int skaitikis, int daliklis){ this.prideti(sveikojiDalis); this.prideti(skaitikis,daliklis); } public void prideti(Trupmena x){ this.prideti(x.getSveikojiDalis()); this.prideti(x.getSkaitikis(), x.getDaliklis()); } public double toDouble(){ return sveikojiDalis + (double) skaitikis / daliklis; } }