gon2

Untitled

Feb 5th, 2018
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.72 KB | None | 0 0
  1. public class Fraction implements Comparable<Fraction> {
  2.     private int num;
  3.     private int den;
  4.  
  5.  
  6.     Fraction(int numerator, int denominator) {
  7.         if (denominator == 0) {
  8.             throw new ArithmeticException("Bannað að deila með núlli");
  9.         }
  10.         this.num = numerator;
  11.         this.den = denominator;
  12.     }
  13.  
  14.     public Fraction plus(Fraction f) {
  15.         return new Fraction(this.num * f.den + f.num * this.den, this.den * f.den);
  16.     }
  17.  
  18.     public boolean equals(Fraction f) {
  19.       if (f == null) {
  20.         return false;
  21.       }
  22.  
  23.       Double a = (double) this.num/this.den;
  24.       Double b = (double) f.num/f.den;
  25.  
  26.       //tékkum hvort að |a-b| sé nánast 0:
  27.       if (Math.abs(a-b) <= 0.000001) return true;
  28.       else return false;
  29.     }
  30.  
  31.     @Override
  32.     public int compareTo(Fraction f) {
  33.       Double a = (double) this.num/this.den;
  34.       Double b = (double) f.num/f.den;
  35.  
  36.       //skilum 0 ef jafntog, -1 ef a<b eða 1 ef a>b:
  37.       if (Math.abs(a-b) <= 0.000001) return 0;
  38.       else if (a<b) return -1;
  39.       else return 1;
  40.     }
  41.  
  42.     public static void main(String args[]) {
  43.         Fraction p = new Fraction(1, 2);
  44.         Fraction r = new Fraction(-1, -2);
  45.         Fraction q = new Fraction(2, 6);
  46.         Fraction s = new Fraction(1, 4);
  47.         Fraction t = new Fraction(2, 4);
  48.  
  49.         // Prófum hvort .equals aðferðin sé sjálfhverf (þarf að vera satt)
  50.         System.out.println("p.equals(p): " + p.equals(p));
  51.         // Prófum hvort .equals aðferðin sé samhverf (þarf að vera eins)
  52.         System.out.println("p.equals(r): " + p.equals(r));
  53.         System.out.println("r.equals(p): " + r.equals(p));
  54.         // Prófum hvort .equals aðferðin sé gegnvirk (allt þarf að vera eins)
  55.         System.out.println("p.equals(r): " + p.equals(r));
  56.         System.out.println("r.equals(t): " + r.equals(t));
  57.         System.out.println("p.equals(t): " + p.equals(t));
  58.         // Prófum hvort .equals aðferðin hafni samanburði við null (þarf að vera false):
  59.         System.out.println("t.equals(null): " + t.equals(null));
  60.  
  61.         // Prófum hvort .compareTo sé sjálfhverf (þarf að vera 0)
  62.         System.out.println("q.compareTo(q): " + q.compareTo(q));
  63.  
  64.         // Prófum hvort .compareTo sé andsamhverf (þarf að vera mismunandi)
  65.         System.out.println("r.compareTo(q): " + r.compareTo(q));
  66.         System.out.println("q.compareTo(r): " + q.compareTo(r));
  67.  
  68.         // Prófum hvort .compareTo sé gegnvirk (allt þarf að vera eins)
  69.         System.out.println("r.compareTo(q): " + r.compareTo(q));
  70.         System.out.println("q.compareTo(s): " + q.compareTo(s));
  71.         System.out.println("r.compareTo(s): " + r.compareTo(s));
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment