From 055e429229ed49ac255441cf9d428f052774e992 Mon Sep 17 00:00:00 2001 From: "bob.guo" Date: Fri, 19 Nov 2021 16:45:51 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=99=A4=E6=95=B0=E5=92=8C=E8=A2=AB?= =?UTF-8?q?=E9=99=A4=E6=95=B0=E4=BB=BB=E6=84=8F=E4=B8=80=E4=B8=AA=E4=B8=BA?= =?UTF-8?q?0=20=E4=BC=9A=E6=8A=9B=E5=87=BAException=20in=20thread=20"main"?= =?UTF-8?q?=20java.lang.ArithmeticException:=20/=20by=20zero=20=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/hutool/core/util/NumberUtil.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index 8953e48b0..06de16b94 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -747,12 +747,19 @@ public class NumberUtil { if (null == v1) { return BigDecimal.ZERO; } + if(v1.compareTo(BigDecimal.ZERO)==0||v2.compareTo(BigDecimal.ZERO)==0){ + return BigDecimal.ZERO; + } if (scale < 0) { scale = -scale; } return v1.divide(v2, scale, roundingMode); } + public static void main(String[] args) { + System.out.println(div(BigDecimal.ZERO,BigDecimal.ZERO)); + } + /** * 补充Math.ceilDiv() JDK8中添加了和Math.floorDiv()但却没有ceilDiv() * From e6d85ccd75a7bcea85b7f4056d1eb18958f0ef64 Mon Sep 17 00:00:00 2001 From: "bob.guo" Date: Fri, 19 Nov 2021 16:46:52 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=99=A4=E6=95=B0=E5=92=8C=E8=A2=AB?= =?UTF-8?q?=E9=99=A4=E6=95=B0=E4=BB=BB=E6=84=8F=E4=B8=80=E4=B8=AA=E4=B8=BA?= =?UTF-8?q?0=20=E4=BC=9A=E6=8A=9B=E5=87=BAException=20in=20thread=20"main"?= =?UTF-8?q?=20java.lang.ArithmeticException:=20/=20by=20zero=20=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index 06de16b94..b993d32fa 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -756,10 +756,6 @@ public class NumberUtil { return v1.divide(v2, scale, roundingMode); } - public static void main(String[] args) { - System.out.println(div(BigDecimal.ZERO,BigDecimal.ZERO)); - } - /** * 补充Math.ceilDiv() JDK8中添加了和Math.floorDiv()但却没有ceilDiv() * From 8cd05924ce5bd8b76228b513505c5fc3b1d1c9af Mon Sep 17 00:00:00 2001 From: "bob.guo" Date: Wed, 1 Dec 2021 12:00:01 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=95=B0=E5=80=BC=E5=A5=87=E5=81=B6?= =?UTF-8?q?=E6=95=B0=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/util/NumberUtil.java | 28 +++++++++++++++++++ .../cn/hutool/core/util/NumberUtilTest.java | 12 ++++++++ 2 files changed, 40 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index 504f94301..0863db1b6 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -2710,6 +2710,34 @@ public class NumberUtil { } } + /** + * 检查是否为奇数
+ * + * @param num 被判断的数值 + * @return 是否是奇数 + * @author GuoZG + */ + public static boolean isOdd(int num) { + if ((num & 1) == 1) { + return true; + } + return false; + } + + /** + * 检查是否为偶数
+ * + * @param num 被判断的数值 + * @return 是否是偶数 + * @author GuoZG + */ + public static boolean isEven(int num) { + if (!isOdd(num)) { + return true; + } + return false; + } + // ------------------------------------------------------------------------------------------- Private method start private static int mathSubNode(int selectNum, int minNum) { if (selectNum == minNum) { diff --git a/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java index e5ee4565e..207078b63 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java @@ -412,4 +412,16 @@ public class NumberUtilTest { final Integer[] integers = NumberUtil.generateBySet(10, 100, 5); Assert.assertEquals(5, integers.length); } + + @Test + public void isOddOrEvenTest(){ + int[] a = { 0, 32, -32, 123, -123 }; + for (int i : a) { + Console.log(i + "为奇数:" + NumberUtil.isOdd(i)); + Console.log(i + "为偶数:" + NumberUtil.isEven(i)); + } + } + + + } From d2bb3f1921bb7bb6c3df109274d256479e23efdf Mon Sep 17 00:00:00 2001 From: "bob.guo" Date: Wed, 1 Dec 2021 12:01:30 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=95=B0=E5=80=BC=E5=A5=87=E5=81=B6?= =?UTF-8?q?=E6=95=B0=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index 0863db1b6..fcbdb2a34 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -750,9 +750,6 @@ public class NumberUtil { if (null == v1) { return BigDecimal.ZERO; } - if(v1.compareTo(BigDecimal.ZERO)==0||v2.compareTo(BigDecimal.ZERO)==0){ - return BigDecimal.ZERO; - } if (scale < 0) { scale = -scale; }