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

\"Write another class called MixedNumber that represents numbers that include a

ID: 639744 • Letter: #

Question

"Write another class called MixedNumber that represents numbers that include a whole number and a fraction such as 3 1/2. The class should contain an integer and a RationalNumber. Include constructors, getters,setters,tostring,equals,copy,copy cinstructor, and an add method.

public class MixedNumber {
   private int integer;
   private RationalNumber number;
  
   /**
   *
   * @param integer
   * @param number
   */
   public MixedNumber(int integer, RationalNumber number){
       this.integer = integer;
       this.number = number.copy();
   }
   /**
   * Copy Constructor
   *
   * @param other
   */
   public MixedNumber(MixedNumber other) {
       this.integer = other.integer;
       this.number = other.number.copy();
   }
   /**
   * Deep Copy
   *
   * @return
   */
   public MixedNumber copy() {
       return new MixedNumber(integer,number);
   }
   /**
   * @return the integer
   */
   public int getInteger() {
       return integer;
   }
   /**
   * @param integer the integer to set
   */
   public void setInteger(int integer) {
       this.integer = integer;
   }
   /**
   * @return the number
   */
   public RationalNumber getNumber() {
       return number.copy();
   }
   /**
   * @param number the number to set
   */
   public void setNumber(RationalNumber number) {
       this.number = number.copy();
   }
   /* (non-Javadoc)
   * @see java.lang.Object#hashCode()
   */
   @Override
   public int hashCode() {
       final int prime = 31;
       int result = 1;
       result = prime * result + integer;
       result = prime * result + ((number == null) ? 0 : number.hashCode());
       return result;
   }
   /* (non-Javadoc)
   * @see java.lang.Object#equals(java.lang.Object)
   */
   @Override
   public boolean equals(Object obj) {
       if (this == obj)
           return true;
       if (obj == null)
           return false;
       if (getClass() != obj.getClass())
           return false;
       MixedNumber other = (MixedNumber) obj;
       if (integer != other.integer)
           return false;
       if (number == null) {
           if (other.number != null)
               return false;
       } else if (!number.equals(other.number))
           return false;
       return true;
   }
   /* (non-Javadoc)
   * @see java.lang.Object#toString()
   */
   @Override
   public String toString() {
       return number.toString() + integer;
   }
   

Explanation / Answer

Here you go :)

comment if you have any doubts


public class MixedNumber {
   private int integer;
   private RationalNumber number;
  
   /**
   *
   * @param integer
   * @param number
   */
   public MixedNumber(int integer, RationalNumber number){
   this.integer = integer;
   this.number = number.copy();
   }
   /**
   * Copy Constructor
   *
   * @param other
   */
   public MixedNumber(MixedNumber other) {
   this.integer = other.integer;
   this.number = other.number.copy();
   }
   /**
   * Deep Copy
   *
   * @return
   */
   public MixedNumber copy() {
   return new MixedNumber(integer,number);
   }
   /**
   * @return the integer
   */
   public int getInteger() {
   return integer;
   }
   /**
   * @param integer the integer to set
   */
   public void setInteger(int integer) {
   this.integer = integer;
   }
   /**
   * @return the number
   */
   public RationalNumber getNumber() {
   return number.copy();
   }
   /**
   * @param number the number to set
   */
   public void setNumber(RationalNumber number) {
   this.number = number.copy();
   }
   /* (non-Javadoc)
   * @see java.lang.Object#hashCode()
   */
   @Override
   public int hashCode() {
   final int prime = 31;
   int result = 1;
   result = prime * result + integer;
   result = prime * result + ((number == null) ? 0 : number.hashCode());
   return result;
   }
   /* (non-Javadoc)
   * @see java.lang.Object#equals(java.lang.Object)
   */
   @Override
   public boolean equals(Object obj) {
   if (this == obj)
   return true;
   if (obj == null)
   return false;
   if (getClass() != obj.getClass())
   return false;
   MixedNumber other = (MixedNumber) obj;
   if (integer != other.integer)
   return false;
   if (number == null) {
   if (other.number != null)
   return false;
   } else if (!number.equals(other.number))
   return false;
   return true;
   }
   /* (non-Javadoc)
   * @see java.lang.Object#toString()
   */
   @Override
   public String toString() {
   return number.toString() + integer;
   }
     
   public MixedNumber add(MixedNumber newnumber)
   {
       RationalNumber r1=new RationalNumber(this.integer*(this.number.getDenominator())+this.getNumber().getNumerator(),this.number.getDenominator());
       RationalNumber r2=new RationalNumber(newnumber.integer*(newnumber.number.getDenominator())+newnumber.getNumber().getNumerator(),newnumber.number.getDenominator());
         
       RationalNumber r3=r1.add(r2);
       int rem=r3.getNumerator()%r3.getDenominator();
       int quo=r3.getNumerator()/r3.getDenominator();
         
       return new MixedNumber(quo, new RationalNumber(rem,r3.getDenominator()));
   }
}