2 Star 0 Fork 0

CS-IMIS-23/TeamWork

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
RationalNumber.java 2.42 KB
一键复制 编辑 原始数据 按行查看 历史
package exp5;
public class RationalNumber
{
private int numerator,denominator;
public RationalNumber(int numer, int denom)
{
if (denom ==0)
denom = 1;
if (denom <0)
{
numer =numer* -1;
numer =denom* -1;
}
numerator = numer;
denominator = denom;
reduce();
}
public int getNumerator()
{
return numerator;
}
public int getDenominator()
{
return denominator;
}
public RationalNumber reciprocal()
{
return new RationalNumber(denominator,numerator);
}
public RationalNumber add(RationalNumber op2)
{
int commonDenominator = denominator * op2.getDenominator();
int numerator1 = numerator * op2.getDenominator();
int numerator2 = op2.getNumerator() * denominator;
int sum = numerator1 + numerator2;
return new RationalNumber(sum,commonDenominator);
}
public RationalNumber subtract(RationalNumber op2)
{
int commonDenominator = denominator * op2.getDenominator();
int numerator1 = numerator * op2.getDenominator();
int numerator2 = op2.getNumerator() * denominator;
int difference = numerator1 -numerator2;
return new RationalNumber(difference,commonDenominator);
}
public RationalNumber multiply(RationalNumber op2)
{
int numer = numerator *op2.getNumerator();
int denom = denominator * op2.getDenominator();
return new RationalNumber(numer,denom);
}
public RationalNumber divide(RationalNumber op2)
{
return multiply(op2.reciprocal());
}
public boolean isLike(RationalNumber op2)
{
return (numerator ==op2.getNumerator() &&
denominator == op2.getDenominator() );
}
public String toString()
{
String result;
if(numerator ==0)
result = "0";
else
if (denominator == 1)
result = numerator + "";
else
result= numerator + "/"+denominator;
return result;
}
private void reduce()
{
if (numerator !=0)
{
int common = gcd(Math.abs(numerator),denominator);
numerator = numerator/common;
denominator = denominator/common;
}
}
private int gcd(int num1,int num2)
{
while (num1 !=num2)
if (num1>num2)
num1=num1 - num2;
else
num2 = num2 - num1;
return num1;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/CS-IMIS-23/TeamWork.git
git@gitee.com:CS-IMIS-23/TeamWork.git
CS-IMIS-23
TeamWork
TeamWork
master

搜索帮助