public class Rational{
public String RationalNumber;
public int Numerator;
public int Denominator;
public Rational(int Numerator, int Denominator){
RationalNumber = Numerator + "/" + Denominator;
Numerator = Numerator;
Denominator = Denominator;
}
public int getNum(){
return Numerator;
}
public int getDen(){
return Denominator;
}
// public void ReNUMDEN(int NUM, int DEN){
// Numerator = NUM;
// Denominator = DEN;
// }
public String getRationalNumber(){
return Numerator + "/" + Denominator;
}
public void setNewInt(int newInt, String Choice){
int slashIndex = RationalNumber.indexOf("/");
if (Choice.equals("Numerator")) {
String subString = RationalNumber.substring(slashIndex + 1);
RationalNumber = Choice + "/" + subString;
Numerator = newInt;
}
else{
if (Choice.equals("Denominator")) {
String subString = RationalNumber.substring(0,slashIndex);
RationalNumber = Choice + "/" + subString;
Denominator = newInt;
}
else{
System.out.print("setNewInt(int newInt, String Choice)");
}}}
public int gcd(int Numerator, int Denominator){
if (Denominator == 0){
return Numerator;
}
else{
return gcd(Denominator,Numerator%Denominator);
}}
public void reduce(){
Numerator = Numerator / gcd(Numerator,Denominator);
Denominator = Denominator / gcd(Numerator,Denominator);
}
public boolean equals(Rational other){
reduce();
other.reduce();
if (this.getDen() == other.getDen() && getNum() == other.getNum() ){
return true;
}
else {
return false;
}}
public Rational mult(Rational other){
Rational returnRational;
returnRational = new Rational(this.getNum() * other.getNum(),
this.getDen() * other.getDen());
return returnRational;
}
public int compareTo(Rational other){
int thisRational = this.getNum() / this.getDen();
int otherRational = other.getNum() / other.getDen();
if (thisRational > otherRational){
return 1;
}
if (thisRational == otherRational){
return 0;
}
if (thisRational < otherRational){
return -1;
}
return 1;
}
}