Question: Complete the following code segment to handle potential zero denominators. When there is a zero denominator, use zero denominator as the message to pass to
Complete the following code segment to handle potential zero denominators. When there is a zero denominator, use "zero denominator" as the message to pass to the exception object. You may get the message from an exception object by using e.getMessage().
import java.util.Scanner; import chapter11.fraction.Fraction; import chapter11.fraction.exception.ZeroDenominatorException;
public class Test { public static void main(String[] args) { Scanner stdin = new Scanner(System.in); try { Fraction fraction = new Fraction(stdin.nextInt(), stdin.nextInt()); fraction.print(); fraction = new Fraction(stdin.nextInt(), stdin.nextInt()); fraction.print(); fraction = new Fraction(stdin.nextInt(), stdin.nextInt()); fraction.print(); fraction = new Fraction(stdin.nextInt(), stdin.nextInt()); fraction.print(); } // your code starts here
// your code ends here } }
package chapter11.fraction.exception;
// your code starts here
// your code ends here
package chapter11.fraction;
import chapter11.fraction.exception.ZeroDenominatorException;
public class Fraction { private int num; private int denom; // your code starts here
// your code ends here public Fraction() throws ZeroDenominatorException { this(1, 1); }
public Fraction add(Fraction frac) throws ZeroDenominatorException { int n = this.num * frac.denom + this.denom * frac.num; int d = this.denom * frac.denom;
return new Fraction(n, d); }
public Fraction sub(Fraction frac) throws ZeroDenominatorException { int n = this.num * frac.denom - this.denom * frac.num; int d = this.denom * frac.denom;
return new Fraction(n, d); }
public Fraction mult(Fraction frac) throws ZeroDenominatorException { int n = this.num * frac.num; int d = this.denom * frac.denom;
return new Fraction(n, d); }
public Fraction div(Fraction frac) throws ZeroDenominatorException { int n = this.num * frac.denom; int d = this.denom * frac.num;
return new Fraction(n, d); }
public void print() { if (num != 0 && denom != 0) { System.out.println(num + "/" + denom); } else if (num == 0) {
System.out.print(0); } else { System.out.println("NaF"); } }
public int getNum() { return this.num; }
public int getDenom() { return this.denom; } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
