From 3faeb46effe105f277b9649d0c34a1c11ddfc618 Mon Sep 17 00:00:00 2001 From: Rehan Siddiqi Date: Fri, 1 Nov 2024 14:42:15 -0400 Subject: [PATCH] handle when divisor b is zero in all division methods --- .../algorithms/mathematics/Division.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/com/jwetherell/algorithms/mathematics/Division.java b/src/com/jwetherell/algorithms/mathematics/Division.java index c133f741..2425632d 100644 --- a/src/com/jwetherell/algorithms/mathematics/Division.java +++ b/src/com/jwetherell/algorithms/mathematics/Division.java @@ -3,11 +3,17 @@ public class Division { public static final long division(int a, int b) { + if (b == 0) { + 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) { + throw new IllegalArgumentException("Divisor cannot be zero."); + } int absA = Math.abs(a); int absB = Math.abs(b); @@ -22,6 +28,9 @@ public static final long divisionUsingLoop(int a, int b) { } public static final long divisionUsingRecursion(int a, int b) { + if (b == 0) { + throw new IllegalArgumentException("Divisor cannot be zero."); + } int absA = Math.abs(a); int absB = Math.abs(b); @@ -38,6 +47,9 @@ public static final long divisionUsingRecursion(int a, int b) { } public static final long divisionUsingMultiplication(int a, int b) { + if (b == 0) { + throw new IllegalArgumentException("Divisor cannot be zero."); + } int absA = Math.abs(a); int absB = Math.abs(b); @@ -55,6 +67,9 @@ public static final long divisionUsingMultiplication(int a, int b) { } public static final long divisionUsingShift(int a, int b) { + if (b == 0) { + throw new IllegalArgumentException("Divisor cannot be zero."); + } int absA = Math.abs(a); int absB = Math.abs(b); int tempA, tempB, counter; @@ -76,6 +91,9 @@ public static final long divisionUsingShift(int a, int b) { } public static final long divisionUsingLogs(int a, int b) { + if (b == 0) { + throw new IllegalArgumentException("Divisor cannot be zero."); + } long absA = Math.abs(a); long absB = Math.abs(b); double logBase10A = Math.log10(absA);