\"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()));
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.