morry2341

F12

Jun 8th, 2023
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. public class F12 { //eigentlich Fraction3
  2. int numerator;
  3. int denominator;
  4. F12 result;
  5.  
  6. F12(int num, int den){
  7. numerator = num;
  8. denominator = den;
  9. simplify();
  10. }
  11.  
  12. void simplify(){
  13. int gcd = findGCD(numerator, denominator);
  14. numerator /= gcd;
  15. denominator /= gcd;
  16. }
  17.  
  18. int findGCD(int a, int b){
  19. if(b==0){
  20. return a;
  21.  
  22. }
  23. return findGCD(b, a%b);
  24. }
  25.  
  26. public int getNum(){
  27. return numerator;
  28. }
  29.  
  30. public int getDenom(){
  31. return denominator;
  32. }
  33.  
  34. F12 add(F12 x){
  35. F12 answer;
  36. if(denominator == x.denominator){
  37. answer = new F12(x.numerator+numerator, denominator);
  38. } else {
  39. int num = this.getNum() * x.getDenom() + x.getNum() * this.getDenom();
  40. int den = this.getDenom() * x.getDenom();
  41. answer = new F12(num, den);
  42. }
  43. return answer;
  44. }
  45.  
  46. F12 subtract(F12 x){
  47. F12 answer;
  48. if(x.denominator == denominator){
  49. answer = new F12(numerator- x.numerator, denominator);
  50. } else {
  51. int num = this.getNum()*x.getDenom() - x.getNum()*this.getDenom();
  52. int den = this.getDenom()*x.getDenom();
  53.  
  54. answer = new F12(num, den);
  55. }
  56. return answer;
  57. }
  58.  
  59. F12 multiply(F12 x){
  60. F12 answer;
  61. if(x.denominator == denominator){
  62. answer = new F12(numerator+x.numerator, denominator);
  63. } else {
  64. int num = this.getNum()*x.getNum();
  65. int den = this.getDenom() * x.getDenom();
  66. //num-=x.getNum()*denominator;
  67. answer = new F12(num, den);
  68. }
  69. return answer;
  70. }
  71.  
  72. F12 divide(F12 x){
  73. F12 answer;
  74. if(x.denominator == denominator){
  75. answer = new F12(numerator - x.numerator, denominator);
  76. } else {
  77. int den = this.getDenom() * x.getNum();
  78. int num = this.getNum() * x.getDenom();
  79.  
  80. answer = new F12(num, den);
  81. }
  82. return answer;
  83. }
  84.  
  85. public boolean equals(F12 x){
  86. boolean answer = false;
  87. if(numerator == x.numerator && denominator == x.denominator){
  88. answer = true;
  89. }
  90. return answer;
  91. }
  92.  
  93. public String toString(){
  94. return (Integer.toString(numerator) + "/" + Integer.toString(denominator));
  95. }
  96.  
  97.  
  98. public static void main(String[] args) {
  99. F12 a = new F12(3,8);
  100. F12 b = new F12(5,7);
  101. System.out.println(a.toString());
  102. System.out.println(b.toString());
  103. F12 c = a.add(b);
  104. System.out.println("add: " + c.toString());
  105.  
  106. c = a.subtract(b);
  107. System.out.println("sub: " + c.toString());
  108.  
  109. c = a.multiply(b);
  110. System.out.println("multiply: " + c.toString());
  111.  
  112. c = a.divide(b);
  113. System.out.println("div: " + c.toString());
  114.  
  115.  
  116. }
  117. }
  118.  
Advertisement
Add Comment
Please, Sign In to add comment