import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String formula = scanner.nextLine();
char num[] = formula.toCharArray();
Fraction aFraction = new Fraction(num[0] - '0', num[2] - '0');
Fraction bFraction = new Fraction(num[4] - '0', num[6] - '0');
FractionCalculate fractionCalculate = new FractionCalculate(aFraction, bFraction);
if (num[3] == '+') {
Fraction cFraction = fractionCalculate.add();
System.out.println(cFraction.toString());
} else if (num[3] == '-') {
Fraction cFraction = fractionCalculate.less();
System.out.println(cFraction.toString());
}
}
}
}
class Fraction {
int numerator; // 分子
int denominator; // 分母
public Fraction() {
super();
}
public Fraction(int numerator, int denominator) {
super();
this.numerator = numerator;
this.denominator = denominator;
}
public int getNumerator() {
return numerator;
}
public void setNumerator(int numerator) {
this.numerator = numerator;
}
public int getDenominator() {
return denominator;
}
public void setDenominator(int denominator) {
this.denominator = denominator;
}
void simplify() {
if (numerator == 0) {
return;
}
while (denominator % numerator == 0) {
int num = denominator / numerator;
denominator /= num;
numerator /= num;
}
}
public String toString() {
if (numerator == 0) {
return "0";
} else if (numerator < 0 || denominator < 0) {
return "-" + Math.abs(numerator) + "/" + Math.abs(denominator);
} else
return numerator + "/" + denominator;
}
}
class FractionCalculate {
Fraction a = new Fraction();
Fraction b = new Fraction();
public FractionCalculate(Fraction a, Fraction b) {
super();
this.a = a;
this.b = b;
}
Fraction add() {
Fraction c = new Fraction();
c.setNumerator(a.getDenominator() * b.getNumerator() + a.getNumerator() * b.getDenominator());
c.setDenominator(a.getDenominator() * b.getDenominator());
c.simplify();
return c;
}
Fraction less() {
Fraction c = new Fraction();
c.setNumerator(a.getDenominator() * b.getNumerator() - a.getNumerator() * b.getDenominator());
c.setDenominator(a.getDenominator() * b.getDenominator());
c.simplify();
return c;
}
}
代码错误,目前未改正