class RationalNmuber { private int a,b,c; public RationalNmuber(){System.out.println("0");} public RationalNmuber(int a,int b) { this.a=a; this.b=b; if(b==0) System.out.println("分母为0,error"); if(b<0&&a<0&&a!=b) { c=-a<-b?-a:-b; huajian(); } if(b>0&&a>0&&a!=b) { c=a<b?a:b; huajian(); } if(b>0&&a<0&&a!=-b) { c=-a<b?-a:b; huajian(); } if(b<0&&a>0&&a!=-b) { c=a<-b?a:-b; huajian(); } if(a==0&&b!=0) System.out.println("0"); if(a==b||a==-b&&a!=0) System.out.println(a/b); } public void huajian() { for(int i=c;i>0;i--) { if(a%i==0&&b%i==0) { a=a/i;b=b/i; if(b<0) System.out.println(-a+"/"+(-b)); else System.out.println(a+"/"+b); break; } } } public RationalNmuber 加(RationalNmuber p) { return new RationalNmuber(a*p.b+b*p.a,b*p.b); } public RationalNmuber 减(RationalNmuber p) { return new RationalNmuber(a*p.b-b*p.a,b*p.b); } public RationalNmuber 乘(RationalNmuber p) { return new RationalNmuber(a*p.a,b*p.b); } public RationalNmuber 除(RationalNmuber p) { return new RationalNmuber(a*p.b,b*p.a); } } public class 分数类 { public static void main(String args[]) { RationalNmuber t1=new RationalNmuber(1,2); RationalNmuber t2=new RationalNmuber(-2,4); RationalNmuber t3=new RationalNmuber(); t3=t1.加(t2); RationalNmuber t4=new RationalNmuber(); t4=t1.减(t2); RationalNmuber t5=new RationalNmuber(); t5=t1.乘(t2); RationalNmuber t6=new RationalNmuber(); t6=t1.除(t2); } } |
|