MASchmidt

Ü09 OOP 1. Bruch

Jan 12th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.36 KB | None | 0 0
  1. public class Bruch {
  2.  
  3.     public int zaehler;
  4.     public int nenner;
  5.  
  6.     public Bruch(int zaehler, int nenner) {
  7.         this.zaehler = zaehler;
  8.         this.nenner = nenner;
  9.     }
  10.    
  11.     public Bruch(int zaehler) {
  12.         this.zaehler = zaehler;
  13.         this.nenner = 1;
  14.     }
  15.    
  16.     public String toString() {
  17.         this.kuerze();
  18.         String s = this.zaehler + " / " + this.nenner;
  19.         return s;
  20.     }
  21.    
  22.     public void addiere(Bruch b) {
  23.         this.zaehler = (this.zaehler * b.nenner) + (b.zaehler * this.nenner);
  24.         this.nenner = this.nenner * b.nenner;
  25.         this.kuerze();
  26.     }
  27.    
  28.     public void subtrahiere(Bruch b) {
  29.         this.zaehler = (this.zaehler * b.nenner) - (b.zaehler * this.nenner);
  30.         this.nenner = this.nenner * b.nenner;
  31.         this.kuerze();
  32.     }
  33.    
  34.     public void multipliziere(Bruch b) {
  35.         this.zaehler = this.zaehler * b.zaehler;
  36.         this.nenner = this.nenner * b.nenner;
  37.         this.kuerze();
  38.     }
  39.    
  40.     public void dividiere(Bruch b) {
  41.         this.zaehler = this.zaehler * b.nenner;
  42.         this.nenner = this.nenner * b.zaehler;
  43.         this.kuerze();
  44.     }
  45.    
  46.     public double wert() {
  47.         double wert = (double) this.zaehler / (double) this.nenner;
  48.         return wert;
  49.     }
  50.    
  51.     public void kuerze() {
  52.         int ggT = ggT(this.zaehler, this.nenner);
  53.         this.nenner = this.nenner / ggT;
  54.         this.zaehler = this.zaehler / ggT;
  55.     }
  56.    
  57.     private static int ggT(int x, int y) {
  58.         while (y != 0) {
  59.             int temp = x % y;
  60.  
  61.             x = y;
  62.  
  63.             y = temp;
  64.         }
  65.         return x;
  66.     }
  67.    
  68.     public static Bruch addiere(Bruch a, Bruch b) {
  69.         int zaehler = (a.nenner * b.zaehler) + (b.nenner * a.zaehler);
  70.         int nenner = a.nenner * b.nenner;
  71.        
  72.         Bruch c = new Bruch(zaehler, nenner);
  73.         c.kuerze();
  74.         return c;
  75.     }
  76.    
  77.     public static Bruch subtrahiere(Bruch a, Bruch b) {
  78.         int zaehler = (b.nenner * a.zaehler) - (a.nenner * b.zaehler);
  79.         int nenner = a.nenner * b.nenner;
  80.        
  81.         Bruch c = new Bruch(zaehler, nenner);
  82.         c.kuerze();
  83.         return c;
  84.     }
  85.    
  86.     public static Bruch multipliziere(Bruch a, Bruch b) {
  87.         int zaehler = a.zaehler * b.zaehler;
  88.         int nenner = b.nenner * a.nenner;
  89.        
  90.         Bruch c = new Bruch(zaehler, nenner);
  91.         c.kuerze();
  92.         return c;
  93.     }
  94.    
  95.     public static Bruch dividiere(Bruch a, Bruch b) {
  96.         int zaehler = a.zaehler * b.nenner;
  97.         int nenner = a.nenner * b.zaehler;
  98.        
  99.         Bruch c = new Bruch(zaehler, nenner);
  100.         c.kuerze();
  101.         return c;
  102.     }
  103.    
  104.     //Nur für Jack Static Result
  105.     public static void main(String[] args) {
  106.        
  107.     }
  108.    
  109. }
Advertisement
Add Comment
Please, Sign In to add comment