*****************JAVA********************** Write a class called Fraction, which
ID: 3938534 • Letter: #
Question
*****************JAVA********************** Write a class called Fraction, which can be used to store an exact fraction. It must have: - A field to store the numerator - A field to store the denominator - A toString method that returns a neatly formatted String representing the fraction - An equals method that compares itself to another Fraction - An add method that adds itself to another Fraction and returns a new Fraction - Appropriate constructor and accessors as needed Write a program that asks the user to enter the numerators and denominators of two fractions and create corresponding Fraction objects. Check for valid input and a 0 denominator. Then output both Fractions (using your toString method implicitly), whether they are equal, and their sum. Name your main class Hw6pr2 and your file Hw6pr2.java. Submit all .java files
Explanation / Answer
import java.util.*;
import java.io.*;
public class Fraction
{
static Scanner console = new Scanner(System.in);
public static void main(String[] args);
private int numerator;
private int denominator;
System.out.println("Enter the denominator");
System.out.flush();
while(console.hasNext())
{
denominator = console.nextInt();
public String toString()
{
return (numerator + " / " + denominator);
}
public boolean equals(Fraction rightFr)
{
return(numerator * rightFr.denominator == denominator * rightFr.numerator);
}
public int compareTo(Fraction rightFr)
{
return(numerator * rightFr.denominator-denominator * rightFr.numerator);
}
public Fraction(int num, int deno) throws Exception
{
numerator = num;
if(deno == 0)
throw new Exception("denominator cannot be zero");
else
denominator = deno;
}
public Fraction()
{
numerator = 0;
denominator = 1;
}
public void setFraction(int num, int deno) throws Exception
{
numerator = num;
if(deno == 0)
throw new Exception("denominator cannot be zero");
else
denominator = deno;
}
public Fraction add(Fraction rightFr)
{
Fraction temp = new Fraction();
temp.numerator = numerator * rightFr.denominator + rightFr.numerator * denominator;
temp.denominator = denominator * rightFr.denominatior;
return temp;
}
public Fraction multiply(Fraction rightFr)
{
Fraction temp = new Fraction();
temp.numerator = numerator * rightFr.numerator;
temp.denominator = denominator * rightFr.denominator;
return temp;
}
public Fraction subtract(Fraction rightFr)
{
Fraction temp = new Fraction();
temp.numerator = numerator * rightFr. denominator-rightFr.numerator * denominator;
temp.denominator = denominator * rightFr.denominator;
retrun temp;
}
Fraction divide(Fraction rightFr) throws Exception
{
Fraction temp = new Fraction();
if(rightFr.numerator == 0)
throw new Exception("Cannot divide by zero");
else{
temp.numerator = numerator * rightFr.denominator;
temp.denominator = rightFr.numerator *denominator;
return temp;
}
System.out.println(" ");
System.out.println(" " +(numerator + denominator));
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.