Advertisement
DominikPasiut

Untitled

Mar 28th, 2019
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.70 KB | None | 0 0
  1. package main;
  2.  
  3. public class Main {
  4.  
  5.     public static void main(String[] args) {
  6.        
  7.         try{
  8.         Ulamek u = new Ulamek(1,6);
  9.        
  10.         System.out.println(u);
  11.        
  12.         Ulamek u2 = new Ulamek(2,3);
  13.         u2.dodawanie(u);
  14.         System.out.println(u2);
  15.         }
  16.        
  17.         catch(ZerowyMianownik zm){
  18.             System.out.println(zm.getMessage());
  19.         }
  20.        
  21.     }
  22. }
  23. //------------------------------------------------
  24. package main;
  25.  
  26. public class Ulamek {
  27.     private int licznik;
  28.     private int mianownik;
  29.  
  30.     public Ulamek(int licznik, int mianownik) throws ZerowyMianownik {
  31.        
  32.         if (mianownik == 0){
  33.             throw new ZerowyMianownik("0 watrosc niedozwolona w mianowniku");
  34.         }
  35.        
  36.         this.licznik = licznik;
  37.         this.mianownik = mianownik;
  38.        
  39.         skroc();
  40.        
  41.     }
  42.  
  43.     public int getLicznik() {
  44.         return licznik;
  45.     }
  46.  
  47.  
  48.     public void setLicznik(int licznik) {
  49.         this.licznik = licznik;
  50.     }
  51.  
  52.     public int getMianownik() {
  53.         return mianownik;
  54.     }
  55.  
  56.  
  57.     public void setMianownik(int mianownik) {
  58.         this.mianownik = mianownik;
  59.     }
  60.  
  61.     @Override
  62.     public String toString() {
  63.         return licznik + "/" + mianownik ;
  64.     }
  65.    
  66.     private void skroc(){
  67.        int nwd = (new Nwd(licznik, mianownik)).getNwd();
  68.        
  69.        licznik/= nwd;
  70.        mianownik/= nwd;
  71. }
  72.     public void dodawanie(Ulamek b){
  73.         licznik = licznik * b.mianownik  + b.licznik * mianownik;
  74.         mianownik = mianownik * b.mianownik;
  75.        
  76.         skroc();
  77.     }
  78. }
  79. //------------------------------------------------
  80.  
  81. package main;
  82.  
  83. public class ZerowyMianownik extends Exception {
  84.  
  85.  
  86.     public ZerowyMianownik() {
  87.     }
  88.  
  89.  
  90.     public ZerowyMianownik(String msg) {
  91.         super(msg);
  92.     }
  93. }
  94. //------------------------------------------------
  95.  
  96. package main;
  97.  
  98. public class Nwd {
  99.  
  100.     private int a;
  101.     private int b;
  102.     private int nwd;
  103.  
  104.     public Nwd(int a, int b) {
  105.         this.a = a;
  106.         this.b = b;
  107.         doNwd();
  108.     }
  109.  
  110.     private void doNwd() {
  111.         int a = this.getA();
  112.         int b = this.getB();
  113.         while (a != b) {
  114.             if (a > b) {
  115.                 a = a - b;
  116.             } else {
  117.                 b -= a;
  118.             }
  119.         }
  120.         this.nwd = a;
  121.     }
  122.  
  123.  
  124.     public int getA() {
  125.         return a;
  126.     }
  127.  
  128.  
  129.     public void setA(int a) {
  130.         this.a = a;
  131.         doNwd();
  132.     }
  133.  
  134.     public int getB() {
  135.         return b;
  136.     }
  137.  
  138.  
  139.     public void setB(int b) {
  140.         this.b = b;
  141.         doNwd();
  142.     }
  143.  
  144.     public int getNwd() {
  145.         return nwd;
  146.     }
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement