import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Fraction a = new Fraction(in.nextInt(), in.nextInt()); //创建类Fraction的对象a
Fraction b = new Fraction(in.nextInt(),in.nextInt()); //创建类Fraction的对象b
a.print(); //通过.运算符调用a对象的print函数
b.print(); //通过.运算符调用b对象的print函数
a.plus(b).print(); //通过.运算符先调用a对象的plus函数,再调用a对象的print函数
a.multiply(b).plus(new Fraction(5,6)).print();//通过。运算符先调用a对象的multiply函数,再调用a对象的plus函数,再调用a对象的print函数
a.print(); //通过.运算符调用a对象的print函数
b.print(); //通过.运算符调用b对象的print函数
in.close(); //关闭文件
}
}
//####类Fraction:
class Fraction{
int a; //成员变量a表示分子
int b; //成员变量b表示分母
Fraction(int c , int d)
{ //构造函数, 作用:构造一个a/b的分数
this.a = c;
this.b = d;
//print();
//String c=a+"/"+b;
//System.out.println(c);
}
double toDouble( )
{//将分数转换为double
return a*1.0/b ;
}
Fraction plus(Fraction r)
{//将自己的分数和r的分数相加,产生一个新的Fraction的对象m
Fraction m = new Fraction(0, 1);
m.a = a * r.b + b * r.a; //新分数的分子
m.b = b * r.b; //新分数的分母
return m;
}
Fraction multiply(Fraction r)
{//将自己的分数和r的分数相乘,产生一个新的Fraction的对象n
Fraction n =new Fraction(0,1);
n.a = a * r.a;
n.b = b * r.b;
return n;
}
void print()
{//用来输出 对象的数据 的函数
int g=this.a;int h=this.b;
if(a==b)
{
System.out.println(1);
}
else
{
int r,gcd;
while(b>0)
{
//求出分子和分母的最小公约数gcd,然后分子分母同时除去gcd,达到化简分数的目的
r=a%b;
a=b;
b=r;
}
gcd=a;
String e =(g/gcd)+"/"+(h/gcd);
System.out.println(e);
this.a=g;this.b=h;
}
}
}
求分数--推荐指数(★★★★★)
最新推荐文章于 2018-07-26 19:01:58 发布