public class FractionUtils {
public static void main(String[] args) {
Fraction a = new Fraction(4,6);
System.out.println(a.print)
//输出结果“2/3”
Fraction b = new Fraction(6,8);
Fraction plus = b.plus(a);
System.out.println(plus.print());
//输出结果17/12
Fraction c = new Fraction(1,3);
Fraction multiply= c.multiply(a);
System.out.println(multiply.print());
//输出结果2/9
}
}
class Fraction{
private int a;//分子
private int b;//分母
//构造函数
public Fraction(int a, int b) {
this.a = a;//this调用本类中的成员变量
this.b = b;//这里是把形参的值传递给上面带private的a,b
}
//得到分子
public int getA() {
return this.a;
}
//得到分母
public int getB() {
return this.b;
}
//分数加法
public Fraction plus(Fraction r) {
int a1=this.a;//第一个分子
int b1=this.b;//第一个分母
int a2=r.getA();//第二个分子
int b2=r.getB();//第二个分母
int gbs=b1*b2;//公倍数,分母相乘进行通分
int a3=a1*b2+a2*b1;//通分后两分数相加得到的分子
return new Fraction(a3,gbs);
}
//分数乘法
public Fraction multiply(Fraction r) {
return new Fraction(a*(r.getA()),b*(r.getB()));
}
//输出方法
public string print() {
int gys=1;//公约数,初始化为1
// 找出最大公约数
for(int i=1;i<=a;i++) {
if(a%i==0&&b%i==0) {
gys=i;
}
else {
continue;
}
}
//化为最简分数
a=a/gys;
b=b/gys;
if(a==1&&b==1) {
return “1”
}else if((a == b ){
return “1”
} else {
return a+"/"+b;//否则,直接输出
}
}
}
java_分数设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。构造函数:Fraction(int a, int b)构造一个a/b的分数。这个类要提供以下的功能:Fraction plus(Fraction r);将自己的分数和r的分数相加,产生一个新的Fraction的对象。Fraction multiply(Fraction r);...