Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. public class Fraction {
  2.  
  3. private int numerator; //Numerator of 1st fraction
  4. private int denominator;
  5. static int count =0;
  6.  
  7. public Fraction(int numerator, int denominator){
  8. if (denominator == 0)
  9. {
  10. numerator = 0;
  11. denominator = 1;
  12. }
  13. else if (numerator < 0 && denominator <0)
  14. {
  15. numerator = -numerator;
  16. denominator = -denominator;
  17. }
  18. this.numerator = numerator;
  19. this.denominator = denominator;
  20. ++count;
  21. }
  22.  
  23. public int getNumerator() { return numerator; }
  24.  
  25. public void setNumerator(int numerator) { this.numerator = numerator; }
  26. public int getDenominator() { return denominator; }
  27.  
  28. public void setDenominator(int denominator)
  29. {
  30. if (denominator == 0)
  31. {
  32. numerator = 0;
  33. denominator = 1;
  34. }
  35. this.denominator = denominator;
  36. }
  37.  
  38. public void addFraction(Fraction other)
  39. {
  40. this.numerator = this.numerator * other.denominator + other.numerator * this.denominator;
  41. this.denominator = this.denominator * other.denominator;
  42. reduceFraction();
  43. }
  44.  
  45. public static Fraction sum(Fraction a, Fraction b)
  46. {
  47. Fraction temp = new Fraction(a.numerator*b.denominator + a.denominator*b.numerator,
  48. a.denominator*b.denominator);
  49. temp.reduceFraction();
  50. return temp;
  51. }
  52.  
  53. @Override
  54. public String toString(){
  55. return (this.numerator + "/" + this.denominator);
  56. }
  57.  
  58. private void reduceFraction()
  59. {
  60. int x = nod(numerator, denominator);
  61. numerator /= x;
  62. denominator /=x;
  63. }
  64.  
  65. private static int nod(int a, int b)
  66. {
  67. while (a!=0 && b!=0)
  68. {
  69. if (a > b)
  70. a = a%b;
  71. else
  72. b = b%a;
  73. }
  74. return a+b;
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement