Method to convert a rational number from 'int' to 'Double'.
807600Dec 4 2007 — edited Dec 4 2007Hello to All, I am having trouble writing a method that converts a rational number like "int" (8/36) to Double. It is just a simple conversion. I keep getting errors in what I try.
The method is "public static double toDouble (Rational value)"
I added a fourth constructor that was a double with objects numerator and denominator instead of num and denom. I felt it was becoming too complicated.
Any help will be appreciated.
Blessings, Chetanji
class Rational{
int num; int denom; int swap;
public Rational(){
this.num = 0; this.denom = 0;
}
public Rational(int num, int denom){
this.num = num; this.denom = denom;
}
public Rational (int swap){
this.swap = swap;
}
public static void printRational (Rational r){
System.out.println (r.num + "/" + r.denom + " " + "i");
System.out.println ((r.num / r.denom) + " " + "i");
System.out.println ((r.num % r.denom) + " " + "i");
}
public static void negate (Rational r){
r.num = - r.num;
r.denom = - r.denom;
System.out.println (r.num + "/" + r.denom);
return;
}
public static void invert (Rational z){
Rational swap = new Rational ();
z.swap = z.num;
z.num = z.denom;
z.denom = z.swap;
System.out.println (z.num + "/" + z.denom);
return;
}
public static double toDouble (Rational value){ //***This is the problem**//
System.out.println ((toDouble (y.num)) + "/" + (toDouble (y.denom)) + " doubleing!");
return (y.num/y.denom);
}
public static void reduce (Rational z){
z.swap = 0;
while (z.denom > 0)
{
z.swap = z.num%z.denom;
System.out.println ("r value : " + z.swap);
z.num = z.denom;
z.denom = z.swap;
return;
}
}
public static void main(String[] args){
Rational s = new Rational ();
s.num = 5;
s.denom = 34;
Rational t = new Rational (24, 6);
System.out.println (s.num + ":" + s.denom);
System.out.println ("t object id is : " + t);
System.out.println ("s object id is : " + s);;
Rational.printRational (s);
Rational.printRational (t);
Rational.negate (t);
Rational.invert (s);
Rational.toDouble(t);
Rational.reduce (s);
}
}