morry2341

MyFraction

Jun 2nd, 2023
1,002
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.04 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 den = this.getDenom() * x.getDenom();
  40.             int num = this.getNum() * x.getDenom() + x.getNum() * this.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 den = this.getDenom()*x.getDenom();
  52.             int num = this.getNum()*x.getDenom() - x.getNum()*this.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 den = this.getNum()+x.getNum();
  65.             int num = this.getNum() + x.getNum() + x.getNum()*this.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.getDenom();
  78.             int num = numerator - x.getNum();
  79.             num -= x.getNum()*denominator;
  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,4);
  100.         F12 b = new F12(5,6);
  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.divide(b);
  110.         System.out.println("div: " + c.toString());
  111.  
  112.         c = a.multiply(b);
  113.         System.out.println("multiply: " + c.toString());
  114.  
  115.     }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment