请帮我编个方法
第一个是找出分子和分母的最大公约数,使分子分母化成最简分数,例如 4/6 要化成 2/3 。
问题点数:20、回复次数:3Top
1 楼wangquanfeng(小全)回复于 2005-11-14 19:31:34 得分 0
最好能帮我加到下面的程序中——
class Rational{
int a,b;
Rational(){
}
Rational(int a,int b){
this.a=a;
this.b=b;
}
public String toString(){
return (a+"/"+b);
}
void negater(Rational p){
p.a=-p.a;
}
void invert(Rational p){
int x;
x=-p.a;
p.a=-p.b;
p.b=x;
}
public static void main(String[] args){
Rational p=new Rational(10,5);
Rational q=new Rational(2,6);
System.out.println("初始化 p=" +p+ " q=" +q);
p.negater(p);
q.negater(q);
System.out.println("取负值 p=" +p+ " q=" +q);
p.invert(p);
q.invert(q);
System.out.println("分子分母互换 p=" +p+ " q=" +q);
}
}
如果我以上的程序有不规范的地方或不够好的地方请帮我指正或修改,感激~Top
2 楼griffin_shi(none)回复于 2005-11-14 22:40:22 得分 10
4,6=>4,2=>2,2=>2
4,14=>4,10=>4,6=>4,2=>2,2=>2
3,8=>3,5=>3,2=>1,2=>1,1=>1
lz知道了吧Top
3 楼griffin_shi(none)回复于 2005-11-14 22:52:43 得分 10
//我刚学java1个星期
//我只会写那个求公寓书的算法阿
class Rational{
int a,b;
int gongyue;
Rational(){
}
Rational(int a,int b){
this.a=a;
this.b=b;
}
public String toString(){
return (a+"/"+b);
}
public void gongyueshu()
{
if(a<=0)
System.out.println("error a");
if(b<=0)
System.out.println("error b");
int xa,xb; //temp
xa=a;
xb=b;
while(xa!=xb)
{
if(xa>xb)
xa=xa-xb;
else
xb=xb-xa;
}
gongyue=xa;
}
public void display()
{
System.out.println(" gongyueshu shi:"+gongyue);
}
public static void main(String[] args){
Rational p=new Rational(10,5);
Rational q=new Rational(2,6);
System.out.println("初始化 p=" +p+ " q=" +q);
p.gongyueshu();
p.display();
q.gongyueshu();
q.display();
}
}
//如果我以上的程序有不规范的地方或不够好的地方请帮我指正或修改,感激~
Top




