取材:(java) 对一个分数进行约分(分子分母同时除以最大公约数)。

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 14:16:45

实现思路:就是找到分子和分母的最大公约数,之后进行除法运算后的值就是约分结果:
class fenshu
{
private int up;
private int up1;
private int down ;
private int down1 ;
public fenshu(int a,int b)
{
up=a ;
down=b ;
}
public int getnumber()//求最大公约数
{
int min;
int tem=1;
min=(up<down)? up:down ;
for(int i=1;i<=min;i++)
{
if(up%i==0&&down%i==0)
tem=i ;
}
return tem ;
}
public void process()
{
up1=(int)(up/getnumber()) ;
down1=(int)(down/getnumber()) ;
}
public void showresult()
{
System.out.println("result:"+up1+"/"+down1) ;
}
}
public class mainclass
{
public static void main(String []s)
{
fenshu fs=new fenshu(6,3) ;
fs.process() ;
fs.showresult() ;
}
}
备注:通过调试 ,运行正常, 给参数6和3 ,输出结果2/1 。

用辗转相除求出最大公约数不就可以了么
实现应该不难吧