diff --git a/.project b/.project index 3cd55b5c..24be30dd 100644 --- a/.project +++ b/.project @@ -14,4 +14,15 @@ org.eclipse.jdt.core.javanature + + + 1730486184918 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/src/com/jwetherell/algorithms/mathematics/Division.java b/src/com/jwetherell/algorithms/mathematics/Division.java index c133f741..a420dbcb 100644 --- a/src/com/jwetherell/algorithms/mathematics/Division.java +++ b/src/com/jwetherell/algorithms/mathematics/Division.java @@ -3,11 +3,21 @@ public class Division { public static final long division(int a, int b) { + + if (b == 0) { //Divisor 0 Error Handling + throw new IllegalArgumentException("Divisor cannot be zero."); + } + long result = ((long) a) / ((long) b); return result; } public static final long divisionUsingLoop(int a, int b) { + + if (b == 0) { //Divisor 0 Error Handling + throw new IllegalArgumentException("Divisor cannot be zero."); + } + int absA = Math.abs(a); int absB = Math.abs(b); @@ -22,6 +32,11 @@ public static final long divisionUsingLoop(int a, int b) { } public static final long divisionUsingRecursion(int a, int b) { + + if (b == 0) { //Divisor 0 Error Handling + throw new IllegalArgumentException("Divisor cannot be zero."); + } + int absA = Math.abs(a); int absB = Math.abs(b); @@ -38,6 +53,11 @@ public static final long divisionUsingRecursion(int a, int b) { } public static final long divisionUsingMultiplication(int a, int b) { + + if (b == 0) { //Divisor 0 Error Handling + throw new IllegalArgumentException("Divisor cannot be zero."); + } + int absA = Math.abs(a); int absB = Math.abs(b); @@ -55,6 +75,11 @@ public static final long divisionUsingMultiplication(int a, int b) { } public static final long divisionUsingShift(int a, int b) { + + if (b == 0) { //Divisor 0 Error Handling + throw new IllegalArgumentException("Divisor cannot be zero."); + } + int absA = Math.abs(a); int absB = Math.abs(b); int tempA, tempB, counter; @@ -76,6 +101,11 @@ public static final long divisionUsingShift(int a, int b) { } public static final long divisionUsingLogs(int a, int b) { + + if (b == 0) { //Divisor 0 Error Handling + throw new IllegalArgumentException("Divisor cannot be zero."); + } + long absA = Math.abs(a); long absB = Math.abs(b); double logBase10A = Math.log10(absA);