设计一个分数类,分数的分子和分母用两个整型数表示,类所拥有的方法包括对分数进行加、减、乘、除等运算,以及输出分数的方法,输出分数的格式应该是:分子/分母。
在测试类中定义分数类对象,运算并输出运算结果。
public class fenshu {
static int a, b, c, d;
static int zi, mu;
public fenshu(int a, int b, int c, int d){
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
public String add() {
mu = b * d;
zi = a * d + b * c;
int gc = gcd(zi, mu);
return (zi / gc + "/" + mu / gc);
}
public String sub() {
mu = b * d;
zi = a * d - b * c;
int gc = gcd(zi, mu);
return (zi / gc + "/" + mu / gc);
}
public String multiply() {
mu = b * d;
zi = a * c;
int gc = gcd(zi, mu);
return (zi / gc + "/" + mu / gc);
}
public String divid() {
mu = b * c;
zi = a * d;
int gc = gcd(zi, mu);
return (zi / gc + "/" + mu / gc);
}
public String shuchu1(){
String S= (+a+"/"+b );
return S;
}
public String shuchu2(){
String M=(+ c+"/"+d);
return M;
}
static int gcd(int m, int n) {
while (n != 0) {
int temp = n;
n = m % n;
m = temp;
}
return m;
}
public static void main(String[] args) {
fenshu fenshu1=new fenshu(2,3,4,5);
System.out.println(fenshu1.shuchu1());
System.out.println(fenshu1.shuchu2());
System.out.println("分数1+分数2:"+ fenshu1.add());
System.out.println("分数1-分数2:"+fenshu1.sub());
System.out.println("分数1*分数2:"+fenshu1.multiply());
System.out.println("分数1/分数2:"+fenshu1.divid());
}
}