From 38b99a05af8850722ae8e29168ea96e119a2ffe4 Mon Sep 17 00:00:00 2001 From: Reza Date: Thu, 30 Apr 2026 11:41:32 +0330 Subject: [PATCH] complete --- src/main/java/Rational/Rational.java | 28 +++++++++++----------------- src/main/java/movie/apis/Movie.java | 4 ++-- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/main/java/Rational/Rational.java b/src/main/java/Rational/Rational.java index 6860230..6279249 100644 --- a/src/main/java/Rational/Rational.java +++ b/src/main/java/Rational/Rational.java @@ -4,7 +4,7 @@ public class Rational { private int numerator; private int denominator; - // Constructor + public Rational(int numerator, int denominator) { if (denominator == 0) { throw new IllegalArgumentException("Denominator cannot be zero"); @@ -14,7 +14,7 @@ public class Rational { simplify(); } - // GCD helper for simplification + private int gcd(int a, int b) { a = Math.abs(a); b = Math.abs(b); @@ -26,59 +26,55 @@ public class Rational { return a; } - // Simplify the fraction + private void simplify() { int gcd = gcd(numerator, denominator); numerator /= gcd; denominator /= gcd; - // Keep denominator positive + if (denominator < 0) { numerator = -numerator; denominator = -denominator; } } - // COMPLETED - Instance method: this + other + public Rational add(Rational other) { int newNumerator = this.numerator * other.denominator + other.numerator * this.denominator; int newDenominator = this.denominator * other.denominator; return new Rational(newNumerator, newDenominator); } - // COMPLETED - Static method: r1 + r2 + public static Rational add(Rational r1, Rational r2) { return r1.add(r2); } - // TODO: Instance method - this - other - // Formula: a/b - c/d = (a*d - c*b) / (b*d) + public Rational subtract(Rational other) { int newNumerator = this.numerator * other.denominator - other.numerator * this.denominator; int newDenominator = this.denominator * other.denominator; return new Rational(newNumerator, newDenominator); } - // TODO: Static method - r1 - r2 + public static Rational subtract(Rational r1, Rational r2) { return r1.subtract(r2); } - // TODO: Instance method - this * other - // Formula: (a/b) * (c/d) = (a*c) / (b*d) + public Rational multiply(Rational other) { int newNumerator = this.numerator * other.numerator; int newDenominator = this.denominator * other.denominator; return new Rational(newNumerator, newDenominator); } - // TODO: Static method - r1 * r2 + public static Rational multiply(Rational r1, Rational r2) { return r1.multiply(r2); } - // TODO: Instance method - this / other - // Formula: (a/b) รท (c/d) = (a*d) / (b*c) public Rational divide(Rational other) { if (other.numerator == 0 ) { throw new ArithmeticException("Cannot divide by zero"); @@ -88,12 +84,11 @@ public class Rational { return new Rational(newNumerator, newDenominator); } - // TODO: Static method - r1 / r2 + public static Rational divide(Rational r1, Rational r2) { return r1.divide(r2); } - // PROVIDED - String representation @Override public String toString() { if (denominator == 1) { @@ -102,7 +97,6 @@ public class Rational { return numerator + "/" + denominator; } - // PROVIDED - Decimal value public double toDouble() { return (double) numerator / denominator; } diff --git a/src/main/java/movie/apis/Movie.java b/src/main/java/movie/apis/Movie.java index 1e11fc7..98a10df 100644 --- a/src/main/java/movie/apis/Movie.java +++ b/src/main/java/movie/apis/Movie.java @@ -13,9 +13,9 @@ public class Movie { private String country; private String director; private List actors; - private int runtime; // minutes + private int runtime; private String rated; - private String released; // date string + private String released; private String plot; private int imdb_votes; private int metascore;