5/6 1/6 1/6 3/2 1/3 import java.*; import java.util.Scanner; class Fenshu { private long molecular;// 分子 private long denominator;// 分母 public long getMolecular() { return molecular; } public long getDenominator() { return denominator; } public Fenshu(long molecular, long denominator) { this.molecular = molecular; if (denominator == 0) { System.out.print("分母不能为零"); } else { this.denominator = denominator; } gaibian(); } private Fenshu gaibian() { long gcd = this.gYueShu(this.molecular, this.denominator); this.molecular /= gcd; this.denominator /= gcd; return this; } private static long gYueShu(long a, long b) { while (b != 0) { long temp = a % b; a = b; b = temp; } long gyueshu = a; return gyueshu; } public Fenshu ADD(Fenshu fenShu) { return new Fenshu(this.molecular * fenShu.denominator + fenShu.molecular * this.denominator, this.denominator * fenShu.denominator); } public Fenshu SUB(Fenshu fenShu) { return new Fenshu(this.molecular * fenShu.denominator - fenShu.molecular * this.denominator, this.denominator * fenShu.denominator); } public Fenshu MUL(Fenshu fenShu) { return new Fenshu(this.molecular * fenShu.molecular, this.denominator * fenShu.denominator); } public Fenshu DIV(Fenshu fenShu){ return new Fenshu(this.molecular*fenShu.denominator, this.denominator*fenShu.molecular); } public String toString() { return molecular + "/" + denominator; } } public class Main { public static void main(String agrs[]) { Scanner cin = new Scanner(System.in); while(cin.hasNext()) { int a,b,c,d; String x; x=cin.next(); a=cin.nextInt(); b=cin.nextInt(); c=cin.nextInt(); d=cin.nextInt(); Fenshu s1 = new Fenshu(a,b); Fenshu s2 = new Fenshu(c,d); if(x.charAt(0)=='A') { System.out.println(s1.ADD(s2)); } if(x.charAt(0)=='S') { System.out.println(s1.SUB(s2)); } if(x.charAt(0)=='M') { System.out.println(s1.MUL(s2)); } if(x.charAt(0)=='D') { System.out.println(s1.DIV(s2)); } } } } |