Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. package cwiczenie2;
  2. import java.util.*;
  3.  
  4. public class Rational {
  5. private int a,b;
  6. private Rational() {
  7. this.a=1;
  8. this.b=1;
  9. }
  10. public Rational(int a, int b) {
  11. this.a=a;
  12. this.b=b;
  13. }
  14. public void wypisz() {
  15. System.out.println("Licznik: "+this.a+" Mianownik: "+this.b);
  16. }
  17. private int nwd(int b) {
  18. int a=this.b;
  19. do
  20. {
  21. if(a>b) a=a-b;
  22. else b=b-a;
  23. } while (a!=b);
  24. return a;
  25. }
  26. private int nww(int b) {
  27. int a=this.b;
  28. return((a*b)/this.nwd(b));
  29. }
  30. public void zmien(int a, int b) {
  31. this.a=a;
  32. this.b=b;
  33. }
  34. public Rational add(Rational ulamek) {
  35. Rational ulamek3=new Rational();
  36. int mianownik;
  37. if (this.b!=ulamek.b) {
  38. mianownik=this.nww(ulamek.b);
  39. } else {
  40. mianownik=this.b;
  41. }
  42. int licznik1=(mianownik/this.b)*this.a;
  43. int licznik2=(mianownik/ulamek.b)*ulamek.a;
  44. ulamek3.a=licznik1+licznik2;
  45. ulamek3.b=mianownik;
  46. return ulamek3;
  47. }
  48. public Rational mul(Rational ulamek) {
  49. Rational ulamek3=new Rational();
  50. ulamek3.a= this.a*ulamek.a;
  51. ulamek3.b= this.b*ulamek.b;
  52. return ulamek3;
  53. }
  54. public Rational sub(Rational ulamek) {
  55. Rational ulamek3=new Rational();
  56. int mianownik;
  57. if (this.b!=ulamek.b) {
  58. mianownik=this.nww(ulamek.b);
  59. } else {
  60. mianownik=this.b;
  61. }
  62. int licznik1=(mianownik/this.b)*this.a;
  63. int licznik2=(mianownik/ulamek.b)*ulamek.a;
  64. ulamek3.a=licznik1-licznik2;
  65. ulamek3.b=mianownik;
  66. return ulamek3;
  67. }
  68. public Rational div(Rational ulamek) {
  69. Rational ulamek3=new Rational();
  70. ulamek3.a=this.a*ulamek.b;
  71. ulamek3.b=this.b*ulamek.a;
  72. return ulamek3;
  73. }
  74. public boolean rowny(Rational ulamek) {
  75. boolean wynik=false;
  76. int licznik1,licznik2,mianownik;
  77. if (this.b!=ulamek.b) {
  78. mianownik=this.nww(ulamek.b);
  79. licznik1=(mianownik/this.b)*this.a;
  80. licznik2=(mianownik/ulamek.b)*ulamek.a;
  81. if (licznik1==licznik2) wynik=true;
  82. } else {
  83. if(this.a==ulamek.a) wynik=true;
  84. }
  85. return wynik;
  86. }
  87. public int porownaj(Rational ulamek) {
  88. int licznik1,licznik2,mianownik;
  89. int wynik=0;
  90. if (this.b!=ulamek.b) {
  91. mianownik=this.nww(ulamek.b);
  92. licznik1=(mianownik/this.b)*this.a;
  93. licznik2=(mianownik/ulamek.b)*ulamek.a;
  94. if (licznik1<licznik2) wynik=1;
  95. else if (licznik1>licznik2) wynik=-1;
  96. } else {
  97. if (this.a<ulamek.a) wynik=1;
  98. else if (this.a>ulamek.a) wynik=-1;
  99. }
  100. return wynik;
  101. }
  102. public String tekst() {
  103. return (this.a+"/"+this.b);
  104. }
  105. public static void main(String args[]) {
  106. Rational ulamek1 = new Rational(5,12);
  107. Rational ulamek2 = new Rational(4,9);
  108. Rational ulamek3;
  109. ulamek3=ulamek1.add(ulamek2);
  110. ulamek3.wypisz();
  111. ulamek3.tekst();
  112. ulamek3=ulamek1.sub(ulamek2);
  113. ulamek3.wypisz();
  114. ulamek3.tekst();
  115. ulamek3=ulamek1.mul(ulamek2);
  116. ulamek3.wypisz();
  117. ulamek3.tekst();
  118. ulamek3=ulamek1.div(ulamek2);
  119. ulamek3.wypisz();
  120. ulamek3.tekst();
  121. ulamek1.zmien(2,4);
  122. ulamek2.zmien(1,2);
  123. System.out.println("Ulamek1 po zmianie: "+ulamek1.tekst());
  124. System.out.println("Ulamek2 po zmianie: "+ulamek2.tekst());
  125. System.out.println("Czy równe: "+ulamek1.rowny(ulamek2));
  126. System.out.println("Czy wiekszy/mniejszy: "+ulamek1.porownaj(ulamek2));
  127. ulamek1.zmien(2,11);
  128. ulamek2.zmien(1,5);
  129. System.out.println("Ulamek1 po zmianie: "+ulamek1.tekst());
  130. System.out.println("Ulamek2 po zmianie: "+ulamek2.tekst());
  131. System.out.println("Czy wiekszy/mniejszy: "+ulamek1.porownaj(ulamek2));
  132. }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement