1.用整型表示类的private成员变量,f1和f2
2.提供构造方法,将分子存入f1,分母存入f2
3.提供两个分数相加的运算方法,结果分别存入f1和f2
4.提供两个分数相减的运算方法,结果分别存入f1和f2
5.提供两个分数相乘的运算方法,结果分别存入f1和f2
6.提供两个分数相除的运算方法,结果分别存入f1和f2
7.以a/b的形式打印Fraction函数
8.以浮点数的形式打印Fraction函数
9.编写主控程序运行分数运算
帮帮忙啊,急!先谢谢哈
[此贴子已经被作者于2007-4-11 23:37:18编辑过]
import java.io.*;
public class Fraction{
int f1,f2; //f1为分子,f2为分母
Fraction(int f1, int f2){
try{
if(f2==0){
System.out.println("分母不能为0,请重置分母值");
f2=System.in.read();
}
}catch(Exception ex){System.out.println(ex.toString());}
this.f1=f1;
this.f2=f2;
}
public int gongyueshu(int a, int b){ //求最大公约数方法
int r,temp;
if(a<b){
temp=a;
a=b;
b=temp;
}
while((r=a%b)!=0){
a=b;
b=r;
}
return b;
}
public int gongbeishu(int a,int b){ //求最小公倍数
return a*b/gongyueshu(a,b);
}
public void add(Fraction f1,Fraction f2){ //分数加法运算,f1,f2分别为两个分数实例
int fenzi,fenmu;
fenmu=gongbeishu(f1.f2,f2.f2);
fenzi=gongbeishu(f1.f2,f2.f2)/f1.f2*f1.f1+gongbeishu(f1.f2,f2.f2)/f2.f2*f2.f1;
System.out.println(f1.f1+"/"+f1.f2+"+"+f2.f1+"/"+f2.f2+"="+fenzi/gongyueshu(fenzi,fenmu)+"/"+fenmu/gongyueshu(fenzi,fenmu));
}
public void minu(Fraction f1,Fraction f2){ //分数减法运算,f1,f2分别为两个分数
int fenzi,fenmu;
fenmu=gongbeishu(f1.f2,f2.f2);
fenzi=gongbeishu(f1.f2,f2.f2)/f1.f2*f1.f1-gongbeishu(f1.f2,f2.f2)/f2.f2*f2.f1;
System.out.println(f1.f1+"/"+f1.f2+"-"+f2.f1+"/"+f2.f2+"="+fenzi/gongyueshu(fenzi,fenmu)+"/"+fenmu/gongyueshu(fenzi,fenmu));
}
public void muti(Fraction f1,Fraction f2){ //分数乘法运算,f1,f2分别为两个分数
int fenzi,fenmu;
fenzi=f1.f1*f2.f1;
fenmu=f1.f2*f2.f2;
System.out.println(f1.f1+"/"+f1.f2+"×"+f2.f1+"/"+f2.f2+"="+fenzi/gongyueshu(fenzi,fenmu)+"/"+fenmu/gongyueshu(fenzi,fenmu));
}
public void devide(Fraction f1,Fraction f2){ //分数除法运算,f1,f2分别为两个分数
int fenzi,fenmu;
fenzi=f1.f1*f2.f2;
fenmu=f1.f2*f2.f1;
if(fenmu!=0)
System.out.println(f1.f1+"/"+f1.f2+"÷"+f2.f1+"/"+f2.f2+"="+fenzi/gongyueshu(fenzi,fenmu)+"/"+fenmu/gongyueshu(fenzi,fenmu));
else
System.out.println("分母为0,无意义.");
}
public void fudian(Fraction f1) { //以浮点数打印分数
double result;
result=(double)f1.f1/(double)f1.f2;
System.out.println(f1.f1+"/"+f1.f2+"="+result);
}
public static void main(String args[]){
Fraction f1=new Fraction(1,5);
Fraction f2=new Fraction(1,2);
f1.add(f1,f2);
f1.minu(f1,f2);
f1.muti(f1,f2);
f1.devide(f1,f2);
f1.fudian(f1);
f2.fudian(f2);
}
}
[此贴子已经被作者于2007-4-13 13:35:40编辑过]