代码拉取完成,页面将自动刷新
import java.util.Random;
public class RationalNumber
{
private int numerator,denominator;
public RationalNumber (int numer,int denom)
{
if (denom == 0)
denom = 1;
if (denom<0)
{
numer = numer * -1;
denom = 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;
System.out.print("("+this.toString()+")" + " + " + "("+op2.toString()+")" + "=");
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;
System.out.print("("+this.toString()+")" + " - " + "("+op2.toString()+")" + "=");
return new RationalNumber (difference,commonDenominator);
}
public RationalNumber multiply(RationalNumber op2)
{
int numer = numerator * op2.getNumerator();
int denom = denominator * op2.getDenominator();
System.out.print("("+this.toString()+")" + " * " + "("+op2.toString()+")" + "=");
return new RationalNumber (numer,denom);
}
public RationalNumber divide(RationalNumber op2)
{
return multiply(op2.reciprocal());
}
public boolean isLike(RationalNumber op2)
{
System.out.print("("+this.toString()+")" + " / " + "("+op2.toString()+")" + "=");
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;
}
public static RationalNumber call(){
Random a = new Random();
return new RationalNumber (a.nextInt(9)+1,a.nextInt(4)+1);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。