I have this program that I need to alter a bit and I am having trouble figuring it out. I need the addition, subtraction, multiplication and division to be changed only. This is the example for the addition part:
public class TestFraction{
.
.
.
result = f1.addFraction(f2)
.
.
.
class Fraction{
.
.
.
.
public addFraction(fraction OtherFraction)
double a = this.numerator;
double b = this.denominator;
double c = OtherFraction.getNumerator();
double d = OtherFraction.getDenominator();
Fraction result = new Fraction(a * d + b * c, b * d);
return result;
Below is the working program that needs the changes, I just need help with the programming looking the same, but with these slight alterations. Thank you.
import java.util.Scanner;
public class TestFraction {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Fraction f1 = new Fraction();
System.out.print("Enter numerator for myFraction1: ");
int n1 = input.nextInt();
f1.setNumerator(n1);
System.out.print("Enter denominator for myFraction1: ");
int d1 = input.nextInt();
f1.setDenominator(d1);
System.out.println();
System.out.print("Enter numerator for myFraction2: ");
int n2 = input.nextInt();
System.out.print("Enter denominator for myFraction2: ");
int d2 = input.nextInt();
Fraction f2 = new Fraction(n2, d2);
System.out.println();
System.out.print("myFraction1 = ");
f1.printFraction();
System.out.println();
System.out.print("myFraction2 = ");
f2.printFraction();
System.out.println();
System.out.println();
System.out.println("The numerator of myFraction1 is: " + f1.getNumerator());
System.out.println("The denominator of myFraction1 is: " + f1.getDenominator());
System.out.println();
System.out.println("The numerator of myFraction2 is: " + f2.getNumerator());
System.out.println("The denominator of myFraction2 is: " + f2.getDenominator());
System.out.println();
f1.printFraction();
System.out.print(" + ");
f2.printFraction();
System.out.print(" = ");
Fraction ADD = new Fraction(f1.getNumerator(), f1.getDenominator());
ADD.addFraction(f2);
ADD.printFraction();
System.out.println();
f1.printFraction();
System.out.print(" - ");
f2.printFraction();
System.out.print(" = ");
Fraction SUB = new Fraction(f1.getNumerator(), f1.getDenominator());
SUB.subtractFraction(f2);
SUB.printFraction();
System.out.println();
f1.printFraction();
System.out.print(" * ");
f2.printFraction();
System.out.print(" = ");
Fraction MUL = new Fraction(f1.getNumerator(), f1.getDenominator());
MUL.multiplyFraction(f2);
MUL.printFraction();
System.out.println();
System.out.print("(");
f1.printFraction();
System.out.print(") / (");
f2.printFraction();
System.out.print(") = ");
Fraction DIV = new Fraction(f1.getNumerator(), f1.getDenominator());
DIV.divideFraction(f2);
DIV.printFraction();
System.out.println();
}
}
class Fraction
{
private int numerator;
private int denominator;
Fraction()
{
numerator = 0;
denominator = 1;
}
Fraction(int n, int d)
{
numerator = n;
denominator = d;
}
public int getNumerator()
{
return numerator;
}
public int getDenominator()
{
return denominator;
}
public void setNumerator(int n)
{
numerator = n;
}
public void setDenominator(int d)
{
denominator = d;
}
public void printFraction()
{
System.out.print(numerator + " / " + denominator);
}
public static int gcd(int a, int b)
{
if(b==0)
return a;
else
return gcd(b, a%b);
}
void reduceFraction()
{
int g = gcd(numerator, denominator);
numerator = numerator/g;
denominator = denominator/g;
}
void addFraction(Fraction f2)
{
int n1 = numerator;
int d1 = denominator;
int n2 = f2.numerator;
int d2 = f2.denominator;
numerator = (n1*d2) + (n2*d1);
denominator = d1*d2;
this.reduceFraction();
}
void subtractFraction(Fraction f2)
{
int n1 = numerator;
int d1 = denominator;
int n2 = f2.numerator;
int d2 = f2.denominator;
numerator = (n1*d2) - (n2*d1);
denominator = d1*d2;
this.reduceFraction();
}
void multiplyFraction(Fraction f2)
{
int n1 = numerator;
int d1 = denominator;
int n2 = f2.numerator;
int d2 = f2.denominator;
numerator = n1*n2;
denominator = d1*d2;
this.reduceFraction();
}
void divideFraction(Fraction f2)
{
int n1 = numerator;
int d1 = denominator;
int n2 = f2.numerator;
int d2 = f2.denominator;
numerator = n1*d2;
denominator = d1*n2;
this.reduceFraction();
}
}
package com.HomeworkLib.fractions;
public class Fraction {
private int numerator;
private int denominator;
protected Fraction() {
numerator = 0;
denominator = 1;
}
public Fraction(int numerator, int denominator)
{
super();
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;
}
public static int gcd(int a, int b)
{
if (b == 0)
return a;
else
return gcd(b, a
% b);
}
void reduceFraction()
{
int g = gcd(numerator,
denominator);
numerator = numerator / g;
denominator = denominator /
g;
}
void addFraction(Fraction f1, Fraction f2) {
numerator = (f1.numerator *
f2.denominator) + (f2.numerator * f1.denominator);
denominator = f1.denominator +
f2.denominator;
reduceFraction();
printFraction(f1, f2, '+');
}
void subtractFraction(Fraction f1, Fraction f2)
{
numerator = (f1.numerator *
f2.denominator) - (f2.numerator * f1.denominator);
denominator = f1.denominator +
f2.denominator;
reduceFraction();
printFraction(f1, f2, '-');
}
void multiplyFraction(Fraction f1, Fraction f2)
{
numerator = (f1.numerator *
f2.numerator);
denominator = f1.denominator *
f2.denominator;
reduceFraction();
printFraction(f1, f2, '*');
}
void divideFraction(Fraction f1, Fraction f2)
{
numerator = (f1.numerator /
f2.numerator);
denominator = f1.denominator /
f2.denominator;
reduceFraction();
printFraction(f1, f2, '/');
}
public void printFraction(Fraction f1, Fraction f2,
char ch) {
System.out.println(f1.numerator +
"/" + f1.denominator + " " + ch +" " + f2.numerator + "/" +
f2.denominator + " = "
+ this.numerator + "/" +
this.denominator);
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------
package com.HomeworkLib.fractions;
import java.util.Scanner;
public class TestFraction {
public static void main(String[] args) {
Scanner input = new
Scanner(System.in);
Fraction f1 = new Fraction();
System.out.println("Enter numerator
for myFraction1: ");
int n1 = input.nextInt();
f1.setNumerator(n1);
System.out.println("Enter
denominator for myFraction1: ");
int d1 = input.nextInt();
f1.setDenominator(d1);
Fraction f2 = new Fraction();
System.out.println("Enter numerator
for myFraction2: ");
int n2 = input.nextInt();
f2.setNumerator(n2);
System.out.println("Enter
denominator for myFraction2: ");
int d2 = input.nextInt();
f2.setDenominator(d2);
Fraction obj=new Fraction();
obj.addFraction(f1,f2);
obj.subtractFraction(f1,f2);
obj.multiplyFraction(f1,f2);
obj.divideFraction(f1,f2);
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------





I have made some changes to your methods.
Hope i have answered your question. Please give review.
Regards
I have this program that I need to alter a bit and I am having trouble...