Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. public class Solution {
  2. public int gcd (int x, int y) {
  3. return y == 0 ? Math.abs(x) : gcd(y, x % y); // "1/3-1/2" => "-1/6", otherwise "1/-6"
  4. }
  5. public String fractionAddition(String expression) {
  6. Scanner sc = new Scanner(expression).useDelimiter("/|(?=[+-])");
  7. int numerator = 0, denominator = 1;
  8. while(sc.hasNext()) {
  9. int a = sc.nextInt(), b = sc.nextInt();
  10. numerator = numerator * b + denominator * a;
  11. denominator *= b;
  12. int g = gcd(denominator, numerator);
  13. numerator /= g;
  14. denominator /= g;
  15. }
  16. return numerator + "/" + denominator;
  17. }
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement