Hello...

cisch regarding thickness of circles by 5pm

public class Fraction {
  private int num, den;
  public Fraction(int num, int den) {
    this.num = num; 
    this.den = den; 
    if (den == 0) {
      
    } else {
      
    } 
  } 
  public static void main(String[] args) {
    Fraction a = new Fraction(1, 2); 
    System.out.println( a.add(a) ); // 1
  } 
}

I develop this:

public class Fraction extends java.lang.Object {
  private int num, den;
  public Fraction(int num, int den) throws Exception {
    this.num = num; 
    this.den = den; 
    if (den == 0) {
      throw new Exception();
    } else {
      
    } 
  } 
  public String toString() {
    return this.num + "/" + this.den ;  
  }
  public Fraction add(Fraction other) throws Exception {
    int n = this.num * other.den + this.den * other.num; 
    int d = this.den * other.den; 
    return new Fraction(n, d); 
  }
  public static void main(String[] args) throws Exception {
    Fraction a = new Fraction(1, 2); 
    System.out.println( a ); 
    try {
      Fraction b = new Fraction(1, 0); 
    } catch (Exception e) {
      System.out.println( e + ": denominator zero not accepted." );  
    }
    System.out.println( a.add(a) ); // 1
  } 
}

How do I simplify the function? 

public class Fraction extends java.lang.Object {
  private int num, den;
  public Fraction(int num, int den) throws Exception {
    this.num = num; 
    this.den = den; 
    if (den == 0) {
      throw new Exception();
    } else {
      int gcdc = Math.min(Math.abs(this.num), Math.abs(this.den));
      while ( true ) {
        if (this.num % gcdc == 0 && this.den % gcdc == 0) {
          this.num /= gcdc;
          this.den /= gcdc;
          break;
        }
      }
    } 
  } 
  public String toString() {
    if (this.den == 1)
      return this.num + "";
    else
      return this.num + "/" + this.den ;  
  }
  public Fraction add(Fraction other) throws Exception {
    int n = this.num * other.den + this.den * other.num; 
    int d = this.den * other.den; 
    return new Fraction(n, d); 
  }
  public static void main(String[] args) throws Exception {
    Fraction a = new Fraction(1, 2); 
    System.out.println( a ); 
    try {
      Fraction b = new Fraction(1, 0); 
    } catch (Exception e) {
      System.out.println( e + ": denominator zero not accepted." );  
    }
    System.out.println( a.add(a) ); // 1
  } 
}

I will now demonstrate BlueJ. 

public class Counter {
  private int balance; 
  public Counter(int initial) {
    this.balance = initial;    
  }
  public void deposit(int amount) {
    this.balance += amount;    
  }
  public String toString() {
    // https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#hashCode()
    return "Counter " + this.hashCode() + " with balance: " + this.balance; 
  }
  public static void main(String[] args) {
    Counter a = new Counter(2); 
    System.out.println( a ); 
  }
}

See pics on what's new?

Design Circle. A circle object has a location and a radius. Circles 
(any two circles) need to be able to determine if they overlap or not. 
No drawing needed. 

--