summaryrefslogtreecommitdiff
path: root/projects/project2_LInfiniteInteger/InfiniteIntegerInterface.java
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2017-02-06 11:41:36 -0500
committerAlexander Pickering <alexandermpickering@gmail.com>2017-02-06 11:41:36 -0500
commit89cdf3efb49335e7c07a68a5a64657eeec2288a6 (patch)
treecdc0fd8165e65b1637fa54cac11c932acefc8a89 /projects/project2_LInfiniteInteger/InfiniteIntegerInterface.java
downloadcoe0445-89cdf3efb49335e7c07a68a5a64657eeec2288a6.tar.gz
coe0445-89cdf3efb49335e7c07a68a5a64657eeec2288a6.tar.bz2
coe0445-89cdf3efb49335e7c07a68a5a64657eeec2288a6.zip
Inital commitHEADmaster
Diffstat (limited to 'projects/project2_LInfiniteInteger/InfiniteIntegerInterface.java')
-rw-r--r--projects/project2_LInfiniteInteger/InfiniteIntegerInterface.java59
1 files changed, 59 insertions, 0 deletions
diff --git a/projects/project2_LInfiniteInteger/InfiniteIntegerInterface.java b/projects/project2_LInfiniteInteger/InfiniteIntegerInterface.java
new file mode 100644
index 0000000..5cd9944
--- /dev/null
+++ b/projects/project2_LInfiniteInteger/InfiniteIntegerInterface.java
@@ -0,0 +1,59 @@
+
+public interface InfiniteIntegerInterface
+{
+ /**
+ * Gets the number of digits of this infinite integer.
+ * @return an integer representing the number of digits
+ * of this infinite integer.
+ */
+ public int getNumberOfDigits();
+
+ /**
+ * Checks whether this infinite integer is a negative number.
+ * @return true if this infinite integer is a negative number.
+ * Otherwise, return false.
+ */
+ public boolean isNegative();
+
+ /**
+ * Calculates the result of this infinite integer plus anInfiniteInteger
+ * @param anInfiniteInteger the infinite integer to be added.
+ * @return a NEW infinite integer representing the result of this
+ * infinite integer plus anInfiniteInteger
+ */
+ public InfiniteIntegerInterface plus(final InfiniteIntegerInterface anInfiniteInteger);
+
+ /**
+ * Calculates the result of this infinite integer subtracted by anInfiniteInteger
+ * @param anInfiniteInteger the infinite integer to subtract.
+ * @return a NEW infinite integer representing the result of this
+ * infinite integer subtracted by anInfiniteInteger
+ */
+ public InfiniteIntegerInterface minus(final InfiniteIntegerInterface anInfiniteInteger);
+
+ /**
+ * Calculates the result of this infinite integer multiplied by anInfiniteInteger
+ * @param anInfiniteInteger the multiplier.
+ * @return a NEW infinite integer representing the result of this
+ * infinite integer multiplied by anInfiniteInteger.
+ */
+ public InfiniteIntegerInterface multiply(final InfiniteIntegerInterface anInfiniteInteger);
+
+ /**
+ * Generates a string representing this infinite integer. If this infinite integer
+ * is a negative number a minus symbol should be in the front of numbers. For example,
+ * "-12345678901234567890". But if the infinite integer is a positive number, no symbol
+ * should be in the front of the numbers (e.g., "12345678901234567890").
+ * @return a string representing this infinite integer number.
+ */
+ public String toString();
+
+ /**
+ * Compares this infinite integer with anInfiniteInteger
+ * @return either -1, 0, or 1 as follows:
+ * If this infinite integer is less than anInfiniteInteger, return -1.
+ * If this infinite integer is equal to anInfiniteInteger, return 0.
+ * If this infinite integer is greater than anInfiniteInteger, return 1.
+ */
+ public int compareTo(final InfiniteIntegerInterface anInfiniteInteger);
+}