快捷导航

关于有理数四则运算的作业题(急)

编写一个Java应用程序,实现两个有理数的四则运算,要求有理数用分子和分母的形式表示。结果要求用“分子/分母”的形式表示。
求源代码

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

publicclassArithmetic{        privateinta;        privateintb;        privateintc;        privateintd;        //两个有理数分别是a/b和c/d;        publicArithmetic(inta,intb,intc,intd){                super();                if(b==0||d==0)                        thrownewRuntimeException("分母不能为零");                this.a=a;                this.b=b;                this.c=c;                this.d=d;        }        publicStringadd(){                intremainder=greatestCommonDivisor(Math.abs(a*d+c*b),Math.abs(b*d));                returnshowAsFraction((a*d+c*b)/remainder,b*d/remainder);        }                publicStringsub(){                intremainder=greatestCommonDivisor(Math.abs(a*d-c*b),Math.abs(b*d));                returnshowAsFraction((a*d-c*b)/remainder,b*d/remainder);        }                publicStringmultiply(){                intremainder=greatestCommonDivisor(Math.abs(a*c),Math.abs(b*d));                returnshowAsFraction(a*c/remainder,b*d/remainder);        }        publicStringdivide(){                intremainder=greatestCommonDivisor(Math.abs(a*d),Math.abs(b*c));                returnshowAsFraction(a*d/remainder,b*c/remainder);        }        //求最大公约数        publicintgreatestCommonDivisor(intnumerator,intdenominator){                intbigger;                intsmaller;                if(numerator>denominator){                        bigger=numerator;                        smaller=denominator;                }else{                        bigger=denominator;                        smaller=numerator;                }                intremainder=bigger%smaller;                while(remainder!=0){                        bigger=smaller;                        smaller=remainder;                        remainder=bigger%smaller;                }                returnsmaller;        }                publicStringshowAsFraction(intnumerator,intdenominator){                if((numerator>0&&denominator>0)||(numerator
回复

使用道具 举报

可能感兴趣的问答

发新帖
TA的信息
  • 会员所属: 注册会员
  • 认证信息: 邮箱认证手机认证
  • 微信访问
  • 手机APP