Question

In: Computer Science

I'm having trouble with my ZeroDenominatorException. How do I implement it to where if the denominator...

I'm having trouble with my ZeroDenominatorException. How do I implement it to where if the denominator is 0 it throws the ZeroDenominatorException and the catch catches to guarantee that the denominator is never 0.
/**
 * The main class is the driver for my Rational project.
 */
public class Main {

    /**
     * Main method is the entry point to my code.
     * @param args The command line arguments.
     */
    public static void main(String[] args) {

        int numerator, denominator = 0;

        System.out.println();

        try {

            Rational rad = new Rational(-1, 3);

            if (denominator == 0)
                throw new ZeroDenominatorException();

            else {
                System.out.println(rad);
            }
        }

        catch(ZeroDenominatorException e){

            System.err.println(e.getMessage());
        }
    }
}
import java.util.Objects;

public class Rational {

    private int numerator;
    private int denominator;

    public Rational(int numerator, int denominator) {
        this.numerator = numerator;
        this.denominator = denominator;
    }

    public int getNumerator() {
        return numerator;
    }

    public void setNumerator(int numerator) {
        this.numerator = numerator;
    }

    public int getDenominator() {
        return denominator;
    }

    public void setDenominator(int denominator) {
        this.denominator = denominator;
    }

    @Override
    public String toString() {
        boolean negative = (numerator < 0 || denominator < 0) && (numerator >= 0 || denominator > 0);
        int num = numerator, denum = denominator;
        if (num < 0)
            num = -num;
        if (denum < 0)
            denum = -denum;
        if (negative)
            return "-" + num + "/" + denum;
        else
            return num + "/" + denum;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Rational rational = (Rational) o;
        return numerator == rational.numerator &&
                denominator == rational.denominator;
    }

    @Override
    public int hashCode() {
        return Objects.hash(numerator, denominator);
    }
}
public class ZeroDenominatorException extends Exception {

    public ZeroDenominatorException(){

        super("The denominator cannot be zero!");
    }
}

Solutions

Expert Solution

/**
* The main class is the driver for my Rational project.
*/
public class Main {

/**
* Main method is the entry point to my code.
* @param args The command line arguments.
*/
public static void main(String[] args) {

int numerator=5;
int denominator = 0;
System.out.println();
try {
   Rational rad = new Rational(numerator,denominator);
   System.out.println(rad);
}
catch(ZeroDenominatorException e){

System.err.println(e.getMessage());
}
}
}

import java.util.Objects;

public class Rational {

private int numerator;
private int denominator;

public Rational(int numerator, int denominator) throws ZeroDenominatorException {
this.numerator = numerator;
this.setDenominator(denominator);
}

public int getNumerator() {
return numerator;
}

public void setNumerator(int numerator) {
this.numerator = numerator;
}

public int getDenominator() {
return denominator;
}

public void setDenominator(int denominator) throws ZeroDenominatorException {
   if(denominator==0){
       throw new ZeroDenominatorException();
   }
   else{
this.denominator = denominator;
   }
}

@Override
public String toString() {
boolean negative = (numerator < 0 || denominator < 0) && (numerator >= 0 || denominator > 0);
int num = numerator, denum = denominator;
if (num < 0)
num = -num;
if (denum < 0)
denum = -denum;
if (negative)
return "-" + num + "/" + denum;
else
return num + "/" + denum;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Rational rational = (Rational) o;
return numerator == rational.numerator &&
denominator == rational.denominator;
}

@Override
public int hashCode() {
return Objects.hash(numerator, denominator);
}
}

public class ZeroDenominatorException extends Exception {

public ZeroDenominatorException(){

super("The denominator cannot be zero!");
}
}

Expected output:

when numerator=5 and denominator =0

The denominator cannot be zero!

when numerator=5 and denominator=2

5/2


Related Solutions

I'm having trouble with validating this html code. Whenever I used my validator, it says I...
I'm having trouble with validating this html code. Whenever I used my validator, it says I have a stray end tag: (tbody) from line 122 to 123. It's the last few lines. Thanks and Ill thumbs up whoever can help solve my problem. Here's my code: <!DOCTYPE html> <html lang="en"> <head> <title>L7 Temperatures Fields</title> <!--    Name:    BlackBoard Username:    Filename: (items left blank for bb reasons    Class Section: (blank)    Purpose: Making a table to demonstrate my...
Hello, I am having trouble getting started on my project and building these functions. How do...
Hello, I am having trouble getting started on my project and building these functions. How do I build a function that continuously adds new "slices" to the list if they are below/above the size limit? I didn't copy the entire problem, but just for reference, when the code is run it will take user input for size limit (L), time cost for a random slice(R), and time cost for an accurate slice(A). Question: In real life, a steak is a...
I'm having trouble understanding a CS assignment. I would appreciate it if you all code do...
I'm having trouble understanding a CS assignment. I would appreciate it if you all code do this for me. The template for the lab is below which you must use. You're only supposed to create/edit the product function. The assignment has to be written in asm(Mips) You will need to create a NOS table and use the structure below and write a function called product. The structure used in this program is: struct Values { short left; short right; int...
Using dev c++ I'm having trouble with classes. I think the part that I am not...
Using dev c++ I'm having trouble with classes. I think the part that I am not understanding is sending data between files and also using bool data. I've been working on this program for a long time with many errors but now I've thrown in my hat to ask for outside help. Here is the homework that has given me so many issues: The [REDACTED] Phone Store needs a program to compute phone charges for some phones sold in the...
hello, I'm having trouble understanding how to do these two problems could you show me a...
hello, I'm having trouble understanding how to do these two problems could you show me a step by step. 1)Eight sprinters have made it to the Olympic finals in the 100-meter race. In how many different ways can the gold, silver, and bronze medals be awarded? 2)Suppose that 34% of people own dogs. If you pick two people at random, what is the probability that they both own a dog? Give your answer as a decimal (to at least 3...
Hey! I'm having trouble answering this for my assignment. Thank you so much in advance. 1)...
Hey! I'm having trouble answering this for my assignment. Thank you so much in advance. 1) Which type of vessels, arteries or veins, has more muscle fibers? What is the functional significance of this? 2a) In general, we have no conscious control over smooth muscle or cardiac muscle function, whereas we can consciously control to some extent all skeletal muscles. Can you consciously control your breathing? What does this tell you about the muscle type of the diaphragm? 2b) What...
If anyone could simplify this for me. I'm having trouble understanding the material and I just...
If anyone could simplify this for me. I'm having trouble understanding the material and I just need a keep it simple stupid approach Discuss the various non influential as well as influential investments that company may have on their financial statements. Also compare and contrast how they are treated/recorded on the companies financial statements.
I have a group project (Cost Benefit Analysis / ROI) that I'm having trouble with two...
I have a group project (Cost Benefit Analysis / ROI) that I'm having trouble with two parts- Competitive Analysis & Conclusion The topic is - To develop training programs internally instead of sending employees to external training providers Company Type - Healthcare organization Competitive Analysis: Summarize the experience other companies are having with this type of investment *This is what I had in mind but need further help please: How are other potential health organizations dealing with having a new...
I'm having trouble thinking of a way that I can delete duplicates from a c string...
I'm having trouble thinking of a way that I can delete duplicates from a c string of alphabets. So what I'm supposed to do is I'm supposed to delete the repeated letters in the c string using pointers and also dynamically allocating space. I'm guessing that I will have to dynamically allocate space for an array to put in the letters that only appear once. To do that, can I create 2 pointers in a function and have 1 pointer...
I'm having trouble creating a histogram using openCV (color segmentation)
I'm having trouble creating a histogram using openCV (color segmentation)
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT