/* rational numbers in java */ import javax.swing.*; class rational { private int num; private int dem; private int gcd(int a, int b) {if (a==0) return b; else return gcd(b%a,a);} // accessor public int getnum() { return num; } // modifier public void setnum(int n) { num = n; } public int getdem() { return dem; } // modifier public void setdem(int d) { if (d!=0) dem = d; } public rational(int n, int d) // constructor { int g; num = n; if (d!=0) dem = d; else dem = 1; g = gcd(num,dem); num = num/g; dem = dem/g; } public void invert() { if (num==0) return; int temp; temp = num; num = dem; dem = temp; } public boolean equals(rational other) // true false { return num*other.dem == dem*other.num; } public void multx(rational b) { num = num*b.num; dem = dem*b.dem; } public rational mult(rational b) { return new rational(num*b.num, dem*b.dem); } public String toString() // overriding a superclass method { return "" + num + "/" + dem; } // oop style } // class rational public class rats2 { public static void main(String[] aaa) { rational a, b; a = new rational(1,2); b = new rational(2,4); System.out.println(a.equals(b)); a.multx(b); b = a.mult(b); System.out.println(a); JOptionPane.showMessageDialog(null,b); System.exit(0); } // main }// rats2