From 0e5af5dd9451e449d69c37465784786c0cf577dd Mon Sep 17 00:00:00 2001 From: Samuel Facchinello Date: Thu, 13 Jun 2024 19:13:21 +0200 Subject: [PATCH 1/5] enable style AvoidNestedBlocks --- checkstyle.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/checkstyle.xml b/checkstyle.xml index cb4ee54670ac..92ac9c2c34e1 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -152,7 +152,7 @@ - + From a5c1efe83bf60f0bf37c6cef4225c3da267be506 Mon Sep 17 00:00:00 2001 From: Samuel Facchinello Date: Thu, 13 Jun 2024 19:14:06 +0200 Subject: [PATCH 2/5] refactor after enable style AvoidNestedBlocks --- .../datastructures/hashmap/hashing/Main.java | 19 ++--- .../hashmap/hashing/MainCuckooHashing.java | 31 ++++--- .../com/thealgorithms/maths/MatrixUtil.java | 84 +------------------ .../java/com/thealgorithms/misc/Sort012D.java | 11 ++- .../java/com/thealgorithms/sorts/DNFSort.java | 8 +- .../thealgorithms/maths/MatrixUtilTest.java | 80 ++++++++++++++++++ 6 files changed, 117 insertions(+), 116 deletions(-) create mode 100644 src/test/java/com/thealgorithms/maths/MatrixUtilTest.java diff --git a/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/Main.java b/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/Main.java index 082fd4b5ab2a..4d9b33b115c7 100644 --- a/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/Main.java +++ b/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/Main.java @@ -23,31 +23,30 @@ public static void main(String[] args) { choice = scan.nextInt(); switch (choice) { - case 1: { + case 1: System.out.println("Enter the Key: "); key = scan.nextInt(); h.insertHash(key); break; - } - case 2: { + + case 2: System.out.println("Enter the Key delete: "); key = scan.nextInt(); h.deleteHash(key); break; - } - case 3: { + + case 3: System.out.println("Print table"); h.displayHashtable(); break; - } - case 4: { + + case 4: scan.close(); return; - } - default: { + + default: throw new IllegalArgumentException("Unexpected value: " + choice); } - } } } } diff --git a/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MainCuckooHashing.java b/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MainCuckooHashing.java index 5a4a56e9b37d..ff4c69a5ec78 100644 --- a/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MainCuckooHashing.java +++ b/src/main/java/com/thealgorithms/datastructures/hashmap/hashing/MainCuckooHashing.java @@ -27,45 +27,44 @@ public static void main(String[] args) { choice = scan.nextInt(); switch (choice) { - case 1: { + case 1: System.out.println("Enter the Key: "); key = scan.nextInt(); h.insertKey2HashTable(key); break; - } - case 2: { + + case 2: System.out.println("Enter the Key delete: "); key = scan.nextInt(); h.deleteKeyFromHashTable(key); break; - } - case 3: { + + case 3: System.out.println("Print table:\n"); h.displayHashtable(); break; - } - case 4: { + + case 4: scan.close(); return; - } - case 5: { + + case 5: System.out.println("Enter the Key to find and print: "); key = scan.nextInt(); System.out.println("Key: " + key + " is at index: " + h.findKeyInTable(key) + "\n"); break; - } - case 6: { + + case 6: System.out.printf("Load factor is: %.2f%n", h.checkLoadFactor()); break; - } - case 7: { + + case 7: h.reHashTableIncreasesTableSize(); break; - } - default: { + + default: throw new IllegalArgumentException("Unexpected value: " + choice); } - } } } } diff --git a/src/main/java/com/thealgorithms/maths/MatrixUtil.java b/src/main/java/com/thealgorithms/maths/MatrixUtil.java index 0759853d61a9..7e462f92e185 100644 --- a/src/main/java/com/thealgorithms/maths/MatrixUtil.java +++ b/src/main/java/com/thealgorithms/maths/MatrixUtil.java @@ -1,8 +1,6 @@ package com.thealgorithms.maths; import java.math.BigDecimal; -import java.util.Arrays; -import java.util.Objects; import java.util.Optional; import java.util.function.BiFunction; import java.util.stream.IntStream; @@ -15,19 +13,19 @@ public final class MatrixUtil { private MatrixUtil() { } - public static boolean isValid(final BigDecimal[][] matrix) { + private static boolean isValid(final BigDecimal[][] matrix) { return matrix != null && matrix.length > 0 && matrix[0].length > 0; } - public static boolean hasEqualSizes(final BigDecimal[][] matrix1, final BigDecimal[][] matrix2) { + private static boolean hasEqualSizes(final BigDecimal[][] matrix1, final BigDecimal[][] matrix2) { return (isValid(matrix1) && isValid(matrix2) && matrix1.length == matrix2.length && matrix1[0].length == matrix2[0].length); } - public static boolean canMultiply(final BigDecimal[][] matrix1, final BigDecimal[][] matrix2) { + private static boolean canMultiply(final BigDecimal[][] matrix1, final BigDecimal[][] matrix2) { return (isValid(matrix1) && isValid(matrix2) && matrix1[0].length == matrix2.length); } - public static Optional operate(final BigDecimal[][] matrix1, final BigDecimal[][] matrix2, final BiFunction operation) { + private static Optional operate(final BigDecimal[][] matrix1, final BigDecimal[][] matrix2, final BiFunction operation) { if (!hasEqualSizes(matrix1, matrix2)) { return Optional.empty(); } @@ -82,78 +80,4 @@ public static Optional multiply(final BigDecimal[][] matrix1, fi return Optional.of(result); } - - public static void assertThat(final BigDecimal[][] actual, final BigDecimal[][] expected) { - if (!Objects.deepEquals(actual, expected)) { - throw new AssertionError(String.format("expected=%s but was actual=%s", Arrays.deepToString(expected), Arrays.deepToString(actual))); - } - } - - public static void main(final String[] args) { - { - final BigDecimal[][] matrix1 = { - {new BigDecimal(3), new BigDecimal(2)}, - {new BigDecimal(0), new BigDecimal(1)}, - }; - - final BigDecimal[][] matrix2 = { - {new BigDecimal(1), new BigDecimal(3)}, - {new BigDecimal(2), new BigDecimal(0)}, - }; - - final BigDecimal[][] actual = add(matrix1, matrix2).orElseThrow(() -> new AssertionError("Could not compute matrix!")); - - final BigDecimal[][] expected = { - {new BigDecimal(4), new BigDecimal(5)}, - {new BigDecimal(2), new BigDecimal(1)}, - }; - - assertThat(actual, expected); - } - - { - final BigDecimal[][] matrix1 = { - {new BigDecimal(1), new BigDecimal(4)}, - {new BigDecimal(5), new BigDecimal(6)}, - }; - - final BigDecimal[][] matrix2 = { - {new BigDecimal(2), new BigDecimal(0)}, - {new BigDecimal(-2), new BigDecimal(-3)}, - }; - - final BigDecimal[][] actual = subtract(matrix1, matrix2).orElseThrow(() -> new AssertionError("Could not compute matrix!")); - - final BigDecimal[][] expected = { - {new BigDecimal(-1), new BigDecimal(4)}, - {new BigDecimal(7), new BigDecimal(9)}, - }; - - assertThat(actual, expected); - } - - { - final BigDecimal[][] matrix1 = { - {new BigDecimal(1), new BigDecimal(2), new BigDecimal(3)}, - {new BigDecimal(4), new BigDecimal(5), new BigDecimal(6)}, - {new BigDecimal(7), new BigDecimal(8), new BigDecimal(9)}, - }; - - final BigDecimal[][] matrix2 = { - {new BigDecimal(1), new BigDecimal(2)}, - {new BigDecimal(3), new BigDecimal(4)}, - {new BigDecimal(5), new BigDecimal(6)}, - }; - - final BigDecimal[][] actual = multiply(matrix1, matrix2).orElseThrow(() -> new AssertionError("Could not compute matrix!")); - - final BigDecimal[][] expected = { - {new BigDecimal(22), new BigDecimal(28)}, - {new BigDecimal(49), new BigDecimal(64)}, - {new BigDecimal(76), new BigDecimal(100)}, - }; - - assertThat(actual, expected); - } - } } diff --git a/src/main/java/com/thealgorithms/misc/Sort012D.java b/src/main/java/com/thealgorithms/misc/Sort012D.java index febe13f4fec3..706e877e40c1 100644 --- a/src/main/java/com/thealgorithms/misc/Sort012D.java +++ b/src/main/java/com/thealgorithms/misc/Sort012D.java @@ -33,28 +33,27 @@ public static void sort012(int[] a) { int temp; while (mid <= h) { switch (a[mid]) { - case 0: { + case 0: temp = a[l]; a[l] = a[mid]; a[mid] = temp; l++; mid++; break; - } + case 1: mid++; break; - case 2: { + case 2: temp = a[mid]; a[mid] = a[h]; a[h] = temp; h--; break; - } - default: { + + default: throw new IllegalArgumentException("Unexpected value: " + a[mid]); } - } } System.out.println("the Sorted array is "); for (int i = 0; i < a.length; i++) { diff --git a/src/main/java/com/thealgorithms/sorts/DNFSort.java b/src/main/java/com/thealgorithms/sorts/DNFSort.java index 50ba8c89715b..4b1e913cf3e0 100644 --- a/src/main/java/com/thealgorithms/sorts/DNFSort.java +++ b/src/main/java/com/thealgorithms/sorts/DNFSort.java @@ -13,24 +13,24 @@ static void sort012(int[] a, int arrSize) { int temp; while (mid <= high) { switch (a[mid]) { - case 0: { + case 0: temp = a[low]; a[low] = a[mid]; a[mid] = temp; low++; mid++; break; - } + case 1: mid++; break; - case 2: { + case 2: temp = a[mid]; a[mid] = a[high]; a[high] = temp; high--; break; - } + default: throw new IllegalArgumentException("Unexpected value: " + a[mid]); } diff --git a/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java b/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java new file mode 100644 index 000000000000..f00aa0333005 --- /dev/null +++ b/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java @@ -0,0 +1,80 @@ +package com.thealgorithms.maths; + +import static org.junit.jupiter.api.Assertions.*; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Objects; +import org.junit.jupiter.api.Test; + +class MatrixUtilTest { + + @Test + void add() { + final BigDecimal[][] matrix1 = { + {new BigDecimal(3), new BigDecimal(2)}, + {new BigDecimal(0), new BigDecimal(1)}, + }; + + final BigDecimal[][] matrix2 = { + {new BigDecimal(1), new BigDecimal(3)}, + {new BigDecimal(2), new BigDecimal(0)}, + }; + + final BigDecimal[][] actual = MatrixUtil.add(matrix1, matrix2).orElseThrow(() -> new AssertionError("Could not compute matrix!")); + + final BigDecimal[][] expected = { + {new BigDecimal(4), new BigDecimal(5)}, + {new BigDecimal(2), new BigDecimal(1)}, + }; + + assertTrue(Objects.deepEquals(actual, expected)); + } + @Test + void subtract() { + final BigDecimal[][] matrix1 = { + {new BigDecimal(1), new BigDecimal(4)}, + {new BigDecimal(5), new BigDecimal(6)}, + }; + + final BigDecimal[][] matrix2 = { + {new BigDecimal(2), new BigDecimal(0)}, + {new BigDecimal(-2), new BigDecimal(-3)}, + }; + + final BigDecimal[][] actual = MatrixUtil.subtract(matrix1, matrix2).orElseThrow(() -> new AssertionError("Could not compute matrix!")); + + final BigDecimal[][] expected = { + {new BigDecimal(-1), new BigDecimal(4)}, + {new BigDecimal(7), new BigDecimal(9)}, + }; + + assertTrue(Objects.deepEquals(actual, expected)); + } + + @Test + void multiply() { + + final BigDecimal[][] matrix1 = { + {new BigDecimal(1), new BigDecimal(2), new BigDecimal(3)}, + {new BigDecimal(4), new BigDecimal(5), new BigDecimal(6)}, + {new BigDecimal(7), new BigDecimal(8), new BigDecimal(9)}, + }; + + final BigDecimal[][] matrix2 = { + {new BigDecimal(1), new BigDecimal(2)}, + {new BigDecimal(3), new BigDecimal(4)}, + {new BigDecimal(5), new BigDecimal(6)}, + }; + + final BigDecimal[][] actual = MatrixUtil.multiply(matrix1, matrix2).orElseThrow(() -> new AssertionError("Could not compute matrix!")); + + final BigDecimal[][] expected = { + {new BigDecimal(22), new BigDecimal(28)}, + {new BigDecimal(49), new BigDecimal(64)}, + {new BigDecimal(76), new BigDecimal(100)}, + }; + + assertTrue(Objects.deepEquals(actual, expected)); + } +} \ No newline at end of file From b0422ac59653b51f80916e9f2e32f703d2664a39 Mon Sep 17 00:00:00 2001 From: Samuel Facchinello Date: Thu, 13 Jun 2024 19:16:09 +0200 Subject: [PATCH 3/5] fix clang --- src/test/java/com/thealgorithms/maths/MatrixUtilTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java b/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java index f00aa0333005..93bdad52a98c 100644 --- a/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java +++ b/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java @@ -77,4 +77,4 @@ void multiply() { assertTrue(Objects.deepEquals(actual, expected)); } -} \ No newline at end of file +} From 11e36c81c5a2ecbfd29108147c91f67b45a527ae Mon Sep 17 00:00:00 2001 From: Samuel Facchinello Date: Thu, 13 Jun 2024 19:20:50 +0200 Subject: [PATCH 4/5] fix checkstyle --- src/test/java/com/thealgorithms/maths/MatrixUtilTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java b/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java index 93bdad52a98c..51812e1143c0 100644 --- a/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java +++ b/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java @@ -1,9 +1,8 @@ package com.thealgorithms.maths; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.math.BigDecimal; -import java.util.Arrays; import java.util.Objects; import org.junit.jupiter.api.Test; From 967cd8aa28d844c3c89f17d3c311723d96a46879 Mon Sep 17 00:00:00 2001 From: Samuel Facchinello Date: Thu, 13 Jun 2024 19:26:01 +0200 Subject: [PATCH 5/5] fix pmd --- .../com/thealgorithms/maths/MatrixUtilTest.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java b/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java index 51812e1143c0..f61ebe6a26cc 100644 --- a/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java +++ b/src/test/java/com/thealgorithms/maths/MatrixUtilTest.java @@ -12,19 +12,19 @@ class MatrixUtilTest { void add() { final BigDecimal[][] matrix1 = { {new BigDecimal(3), new BigDecimal(2)}, - {new BigDecimal(0), new BigDecimal(1)}, + {BigDecimal.ZERO, BigDecimal.ONE}, }; final BigDecimal[][] matrix2 = { - {new BigDecimal(1), new BigDecimal(3)}, - {new BigDecimal(2), new BigDecimal(0)}, + {BigDecimal.ONE, new BigDecimal(3)}, + {new BigDecimal(2), BigDecimal.ZERO}, }; final BigDecimal[][] actual = MatrixUtil.add(matrix1, matrix2).orElseThrow(() -> new AssertionError("Could not compute matrix!")); final BigDecimal[][] expected = { {new BigDecimal(4), new BigDecimal(5)}, - {new BigDecimal(2), new BigDecimal(1)}, + {new BigDecimal(2), BigDecimal.ONE}, }; assertTrue(Objects.deepEquals(actual, expected)); @@ -32,12 +32,12 @@ void add() { @Test void subtract() { final BigDecimal[][] matrix1 = { - {new BigDecimal(1), new BigDecimal(4)}, + {BigDecimal.ONE, new BigDecimal(4)}, {new BigDecimal(5), new BigDecimal(6)}, }; final BigDecimal[][] matrix2 = { - {new BigDecimal(2), new BigDecimal(0)}, + {new BigDecimal(2), BigDecimal.ZERO}, {new BigDecimal(-2), new BigDecimal(-3)}, }; @@ -55,13 +55,13 @@ void subtract() { void multiply() { final BigDecimal[][] matrix1 = { - {new BigDecimal(1), new BigDecimal(2), new BigDecimal(3)}, + {BigDecimal.ONE, new BigDecimal(2), new BigDecimal(3)}, {new BigDecimal(4), new BigDecimal(5), new BigDecimal(6)}, {new BigDecimal(7), new BigDecimal(8), new BigDecimal(9)}, }; final BigDecimal[][] matrix2 = { - {new BigDecimal(1), new BigDecimal(2)}, + {BigDecimal.ONE, new BigDecimal(2)}, {new BigDecimal(3), new BigDecimal(4)}, {new BigDecimal(5), new BigDecimal(6)}, };