Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Fraction class program

807588May 4 2009 — edited May 5 2009
Good morning all,

I'm having some issues getting my fraction class to work properly. Both the driver and class compile just fine and the driver runs, but it isn't producing the correct addition and multiplication answers. I put the class and the driver code below. Please help me out. Thank you very much.

import java.util.Scanner;

public class Fraction
{
private int numerator;
private int denominator;

public Fraction()
{
this(0, 1);
}
public Fraction(int numerator, int denominator)
{
this.numerator = numerator;
this.denominator = denominator;
}

//*****************************************************

//this method adds fractions together

public Fraction add(Fraction d)
{
numerator = numerator * d.denominator + d.numerator * denominator;
denominator = d.denominator * denominator;
return d;
}

//*********************************************************

//This method multiplies fractions together

public Fraction multiply(Fraction d)
{
this.numerator = numerator * d.numerator;
this.denominator = denominator * d.denominator;
return d;
}

//********************************************************

//This method prints in fraction notation

public void print()
{
System.out.println(numerator + "/" + denominator);
}

//********************************************************

//This method prints the fraction as a double

public void printAsDouble()
{
System.out.println((double) numerator / (double) denominator);
}
}



DRIVER
import java.util.Scanner;

public class bla bla
{
public static void main(String[] args)
{
Scanner stdIn = new Scanner(System.in);
Fraction c, d, x; // fraction objects

System.out.println("Enter numerator; then denominator.");
c = new Fraction(stdIn.nextInt(), stdIn.nextInt()); // receives the numerator and denom
c.print();

System.out.println("Enter numerator; then denominator.");
d = new Fraction(stdIn.nextInt(), stdIn.nextInt());
d.print();

x = new Fraction(); // create a fraction for number 0

System.out.println("Sum:"); // prints sum of fractions c and d
x.add(c).add(d);
x.print();
x.printAsDouble();

x = new Fraction(1, 1); // create a fraction for number 1

System.out.println("Product:"); // prints product of fractions c and d
x.multiply(c).multiply(d);
x.print();
x.printAsDouble();

System.out.println("Enter numerator; then denominator.");

x = new Fraction(stdIn.nextInt(), stdIn.nextInt());
x.printAsDouble();
}// end main
}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 2 2009
Added on May 4 2009
75 comments
755 views