Question: Make the screen or GUI attached. The application must do mathematical operations with fractions. The result must be in its reduced or simplified form. They

Make the screen or GUI attached. The application must do mathematical operations with fractions. The result must be in its reduced or simplified form. They must apply Exception Handling.

Make the screen or GUI attached. The application must do mathematical operations

import java.util.Scanner;

import java.util.InputMismatchException;

public class RationalNumber

{

private int num;

private int den;

public RationalNumber()

{

this (8,4);

}

public RationalNumber(int num, int den)

{

setNum(num);

setDen(den);

}

public int getNum()

{

return num;

}

public int getDen()

{

return den;

}

public void setNum(int num)

{

this.num = num;

}

public void setDen(int den)

{

if (den != 0)

{

this.den = den;

}

else

{

throw new ArithmeticException("ERROR!!");

}

}

private static int lowTerms(int num, int den)

{

return den == 0 ? num : lowTerms(den, num%den);

}

public static RationalNumber add(RationalNumber f1, RationalNumber f2)

{

int den;

int num;

den = f1.den*f2.den;

num = (f1.num*f2.den) + (f2.num*f1.den);

int low = lowTerms(num,den);

num = num/low;

den = den/low;

return new RationalNumber(num, den);

}

public static RationalNumber subtract(RationalNumber f1, RationalNumber f2)

{

int den;

int num;

den = f1.den*f2.den;

num = (f1.num*f2.den) - (f2.num*f1.den);

int low = lowTerms(num,den);

num = num/low;

den = den/low;

return new RationalNumber(num, den);

}

public static RationalNumber multiply(RationalNumber f1, RationalNumber f2)

{

int den;

int num;

den = f1.den*f2.den;

num = f1.num*f2.num;

int low = lowTerms(num,den);

num = num/low;

den = den/low;

return new RationalNumber(num, den);

}

public static RationalNumber divide(RationalNumber f1, RationalNumber f2)

{

int den;

int num;

den = f1.den*f2.num;

num = f1.num*f2.den;

int low = lowTerms(num,den);

num = num/low;

den = den/low;

return new RationalNumber(num, den);

}

public void ask()

{

Scanner input = new Scanner(System.in);

System.out.println("Enter the numerator of the fraction.");

System.out.printf("numerator = %n");

setNum(input.nextInt());

System.out.println("Enter the denominator of the fraction.");

System.out.printf("denominator = %n");

setDen(input.nextInt());

}

@Override

public String toString()

{

return "("+num+"/"+den+")";

}

public String decimal()

{

float deci = (float) num/den;

return String.format("%.2f", deci);

}

public static void main(String[] args)

{

boolean flag = true;

do

{

try

{

RationalNumber f1 = new RationalNumber();

RationalNumber f2 = new RationalNumber();

RationalNumber result;

System.out.println("First Fraction");

f1.ask();

System.out.printf("%n");

System.out.println("Second Fraction");

f2.ask();

System.out.printf("%n");

result = RationalNumber.add(f1, f2);

System.out.println("Add = " + result.toString());

System.out.printf("Fraction in decimal form: %n " + result.decimal());

result = RationalNumber.subtract(f1, f2);

System.out.println("Subtract = " + result.toString());

System.out.printf("Fraction in decimal form: %n " + result.decimal());

result = RationalNumber.multiply(f1, f2);

System.out.println("Multiply = " + result.toString());

System.out.printf("Fraction in decimal form: %n " + result.decimal());

result = RationalNumber.divide(f1, f2);

System.out.println("Divide = " + result.toString());

System.out.printf("Fraction in decimal form: %n " + result.decimal());

flag = false;

}

catch(ArithmeticException ex)

{

System.err.println("Exception: " + ex.getMessage());

}

catch(InputMismatchException ex)

{

System.err.println("Exception: Not valid!");

}

} while (flag);

}

}

Rational Rational #1: 1/4 Addtion O Subtract O Multiplication Division Rational #2: 1/2 Get Result 3/4

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!