java有理数类的封装_java实验报告有理数的类封装.doc
java實(shí)驗(yàn)報(bào)告有理數(shù)的類封裝
華中科技大學(xué)文華學(xué)院
《Java程序設(shè)計(jì)》實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)三:有理數(shù)的類封裝
專業(yè)班級(jí): 通信工程2008級(jí)1班
姓名:
學(xué)號(hào):
時(shí)間:
實(shí)驗(yàn)三:有理數(shù)的類封裝
1、實(shí)驗(yàn)?zāi)康?#xff1a;
讓學(xué)生學(xué)習(xí)使用類來封裝對(duì)象的屬性和功能。
2、實(shí)驗(yàn)要求:
希望程序能對(duì)分?jǐn)?shù)(分子分母都是整數(shù))進(jìn)行四則運(yùn)算,而且兩個(gè)分?jǐn)?shù)四則運(yùn)算的結(jié)果仍然是分?jǐn)?shù)。分?jǐn)?shù)也稱有理數(shù)。本實(shí)驗(yàn)要求用類實(shí)現(xiàn)對(duì)有理數(shù)的封裝。有理數(shù)有兩個(gè)重要的成員:分子和分母,另外還有重要的四則運(yùn)算。
編寫一個(gè)java應(yīng)用程序,該程序中有一個(gè)Rational(有理數(shù))類,具體要求如下:
Rational類有兩個(gè)int型的成員變量,名字分別為numberator(分子)和denominator(分母)。
提供Rational add(Rational r)方法,即有理數(shù)調(diào)用該方法與參數(shù)指定的有理數(shù)做加法運(yùn)算,并返回一個(gè)Rational對(duì)象。
提供Rational sub(Rational r)方法,即有理數(shù)調(diào)用該方法與參數(shù)指定的有理數(shù)做減法運(yùn)算,并返回一個(gè)Rational對(duì)象。
提供Rational muti(Rational r)方法,即有理數(shù)調(diào)用該方法與參數(shù)指定的有理數(shù)做乘法運(yùn)算,并返回一個(gè)Rational對(duì)象。
提供Rational div(Rational r)方法,即有理數(shù)調(diào)用該方法與參數(shù)指定的有理數(shù)做除法運(yùn)算,并返回一個(gè)Rational對(duì)象。
3、程序效果圖
4、程序代碼(主要語句有注釋!)
5、實(shí)驗(yàn)思考問題
實(shí)驗(yàn)內(nèi)容回答評(píng)語在Computer.java增加計(jì)算有理數(shù)除法的代碼在Computer.java增加計(jì)算1+3/2+5/3+8/5+13/8…前20項(xiàng)和的代碼
6、實(shí)驗(yàn)總結(jié)及心得
附錄:程序摸版
Rational.java
public class Rational {
int numerator,denominator;
Rational(){}
Rational(int a,int b){
setNumeratorAndDenominator(a,b);
}
void setNumeratorAndDenominator(int a,int b){ //設(shè)置分子和分母
int c=f(Math.abs(a),Math.abs(b)); //計(jì)算最大公約數(shù)
numerator=a/c;
denominator=b/c;
if(numerator<0&&denominator<0){
numerator=-numerator;
denominator=-denominator;
}
}
int getNumerator() {
return numerator;
}
int getDenominator() {
return denominator;
}
int f(int a,int b){ //求a和b的最大公約數(shù)
if(a
int c=a;
a=b;
b=c;
}
int r=a%b;
while(r!=0){
a=b;
b=r;
r=a%b;
}
return b;
}
Rational add(Rational r) {
int a=r.getNumerator();
int b=r.getDenominator();
int newNumerator=numerator*b+denominator*a;
int newDenominator=denominator*b;
Rational result=new Rational(newNumerator,newDenominator);
return result;
}
Rational sub(Rational r) {
int a=r.getNumerator();
int b=r.getDenominator();
總結(jié)
以上是生活随笔為你收集整理的java有理数类的封装_java实验报告有理数的类封装.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java eden space_JVM虚
- 下一篇: java模拟网易邮箱登录_求赐教:网易邮