Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cwiczenie2;
- import java.util.*;
- public class Rational {
- private int a,b;
- private Rational() {
- this.a=1;
- this.b=1;
- }
- public Rational(int a, int b) {
- this.a=a;
- this.b=b;
- }
- public void wypisz() {
- System.out.println("Licznik: "+this.a+" Mianownik: "+this.b);
- }
- private int nwd(int b) {
- int a=this.b;
- do
- {
- if(a>b) a=a-b;
- else b=b-a;
- } while (a!=b);
- return a;
- }
- private int nww(int b) {
- int a=this.b;
- return((a*b)/this.nwd(b));
- }
- public void zmien(int a, int b) {
- this.a=a;
- this.b=b;
- }
- public Rational add(Rational ulamek) {
- Rational ulamek3=new Rational();
- int mianownik;
- if (this.b!=ulamek.b) {
- mianownik=this.nww(ulamek.b);
- } else {
- mianownik=this.b;
- }
- int licznik1=(mianownik/this.b)*this.a;
- int licznik2=(mianownik/ulamek.b)*ulamek.a;
- ulamek3.a=licznik1+licznik2;
- ulamek3.b=mianownik;
- return ulamek3;
- }
- public Rational mul(Rational ulamek) {
- Rational ulamek3=new Rational();
- ulamek3.a= this.a*ulamek.a;
- ulamek3.b= this.b*ulamek.b;
- return ulamek3;
- }
- public Rational sub(Rational ulamek) {
- Rational ulamek3=new Rational();
- int mianownik;
- if (this.b!=ulamek.b) {
- mianownik=this.nww(ulamek.b);
- } else {
- mianownik=this.b;
- }
- int licznik1=(mianownik/this.b)*this.a;
- int licznik2=(mianownik/ulamek.b)*ulamek.a;
- ulamek3.a=licznik1-licznik2;
- ulamek3.b=mianownik;
- return ulamek3;
- }
- public Rational div(Rational ulamek) {
- Rational ulamek3=new Rational();
- ulamek3.a=this.a*ulamek.b;
- ulamek3.b=this.b*ulamek.a;
- return ulamek3;
- }
- public boolean rowny(Rational ulamek) {
- boolean wynik=false;
- int licznik1,licznik2,mianownik;
- if (this.b!=ulamek.b) {
- mianownik=this.nww(ulamek.b);
- licznik1=(mianownik/this.b)*this.a;
- licznik2=(mianownik/ulamek.b)*ulamek.a;
- if (licznik1==licznik2) wynik=true;
- } else {
- if(this.a==ulamek.a) wynik=true;
- }
- return wynik;
- }
- public int porownaj(Rational ulamek) {
- int licznik1,licznik2,mianownik;
- int wynik=0;
- if (this.b!=ulamek.b) {
- mianownik=this.nww(ulamek.b);
- licznik1=(mianownik/this.b)*this.a;
- licznik2=(mianownik/ulamek.b)*ulamek.a;
- if (licznik1<licznik2) wynik=1;
- else if (licznik1>licznik2) wynik=-1;
- } else {
- if (this.a<ulamek.a) wynik=1;
- else if (this.a>ulamek.a) wynik=-1;
- }
- return wynik;
- }
- public String tekst() {
- return (this.a+"/"+this.b);
- }
- public static void main(String args[]) {
- Rational ulamek1 = new Rational(5,12);
- Rational ulamek2 = new Rational(4,9);
- Rational ulamek3;
- ulamek3=ulamek1.add(ulamek2);
- ulamek3.wypisz();
- ulamek3.tekst();
- ulamek3=ulamek1.sub(ulamek2);
- ulamek3.wypisz();
- ulamek3.tekst();
- ulamek3=ulamek1.mul(ulamek2);
- ulamek3.wypisz();
- ulamek3.tekst();
- ulamek3=ulamek1.div(ulamek2);
- ulamek3.wypisz();
- ulamek3.tekst();
- ulamek1.zmien(2,4);
- ulamek2.zmien(1,2);
- System.out.println("Ulamek1 po zmianie: "+ulamek1.tekst());
- System.out.println("Ulamek2 po zmianie: "+ulamek2.tekst());
- System.out.println("Czy równe: "+ulamek1.rowny(ulamek2));
- System.out.println("Czy wiekszy/mniejszy: "+ulamek1.porownaj(ulamek2));
- ulamek1.zmien(2,11);
- ulamek2.zmien(1,5);
- System.out.println("Ulamek1 po zmianie: "+ulamek1.tekst());
- System.out.println("Ulamek2 po zmianie: "+ulamek2.tekst());
- System.out.println("Czy wiekszy/mniejszy: "+ulamek1.porownaj(ulamek2));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement