Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Can anyone tell me what I did wrong - Java Coding. We had to create a rational n

ID: 3661520 • Letter: C

Question

Can anyone tell me what I did wrong - Java Coding. We had to create a rational number class from a complex number class.

"Rational Numbers

Create a Rational number class in the same style as the Complex number class created in class. That is, implement the following methods:

constructor

add

sub

mul

div

toString

You must also provide a Main class and main method to fully test your Rational number class. "


public class Rational {

   int numerator;
   int denominator;
  
   public Rational (double num, double den) {
      
      
       numerator= (int) num;
       denominator=(int) den;
       }
  
   public Rational add (Rational o) {
      
       return new Rational(numerator + o.numerator, denominator + o.denominator);
   }
  
   private Rational conjugate(){
       return new Rational(numerator, -denominator);
   }
  
   public Rational div (Rational o){
      
      
       return new Rational ((numerator/denominator)/(numerator/denominator), denominator);
      
   }
  
   public Rational mul(Rational o){
       return new Rational(numerator * o.numerator - denominator * o.denominator, numerator * o.denominator + denominator * o.denominator);
      
   }
  
   public Rational sub(Rational o){
       return new Rational(numerator - o.numerator, denominator - o.denominator);
   }
  
   public String toString(){
       return "(" + numerator + "+" + denominator + ")";
   }
  
   private double num;
   private double den;
}

Explanation / Answer

The program is syntactically correct i:e program has no errors but there are many logical errors in addition, subtraction, multiplication etc. I have commented those lines and added the correct code with a litte explaination.

/* In addition of rational numbers the numerator of first no. is multiplied by the denominator of other plus (+)
numerator of second multiplied by denominator of first whole divided by denominator1*denominator2
(a/b)+(c/d)= (ad+bc)/bd
*/

Here is the updated code

public class Rational {
int numerator;
int denominator;
  
public Rational (double num, double den) {
  
  
numerator= (int) num;
denominator=(int) den;
}
  
public Rational add (Rational o) {
  
// return new Rational(numerator + o.numerator, denominator + o.denominator);
  
/* In addition of rational numbers the numerator of first no. is multiplied by the denominator of other plus (+)
numerator of second multiplied by denominator of first whole divided by denominator1*denominator2
(a/b)+(c/d)= (ad+bc)/bd
*/

return new Rational((numerator * o.denominator)+(o.numerator*denominator), denominator * o.denominator);
}
  
private Rational conjugate(){
return new Rational(numerator, -denominator);
}
  
public Rational div (Rational o){
  
  
return new Rational (numerator*o.denominator, denominator*o.numerator);

/* In division the numerator of first no. is multiplied by the denominator of other and denominator of first is multiplied by numerator of second
(a/b)/(c/d)= (ad)/bc
*/


  
}
  
public Rational mul(Rational o){
//return new Rational(numerator * o.numerator - denominator * o.denominator, numerator * o.denominator + denominator * o.denominator);

/* In Multiplication the two numerator are multiplied divided by product of two denominator
(a/b)*(c/d)= (ab)/bd
*/

return new Rational(numerator * o.numerator, o.denominator * denominator);
  
}
  
public Rational sub(Rational o){
//return new Rational(numerator - o.numerator, denominator - o.denominator);

/*
Subtraction is same as addition but with subtraction instead of addition
(a/b)-(c/d)= (ad+bc)/bd

*/
return new Rational((numerator * o.denominator)-(o.numerator*denominator), denominator * o.denominator);
}
  
public String toString(){
return "(" + numerator + "/" + denominator + ")";
}
  
private double num;
private double den;


public static void main(String arg[])
{
Rational r1=new Rational(1,2);
Rational r2=new Rational(1,6);

System.out.println("Addition "+r1.add(r2));
System.out.println("Subtraction "+r1.sub(r2));
System.out.println("Multiplication "+r1.mul(r2));
System.out.println("Division "+r1.div(r2));


  
}
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote