From ee7b1d609db88b0cecf8eb6ad64e8331c2e3ab60 Mon Sep 17 00:00:00 2001 From: 6tail <6tail@6tail.cn> Date: Thu, 16 Jul 2020 17:38:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=B6=E8=BE=B0=E5=90=89?= =?UTF-8?q?=E7=A5=9E=E6=96=B9=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/nlf/calendar/Lunar.java | 226 +++++++++++++++++++--- 1 file changed, 199 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/nlf/calendar/Lunar.java b/src/main/java/com/nlf/calendar/Lunar.java index 9cfc2a7..51db4ea 100644 --- a/src/main/java/com/nlf/calendar/Lunar.java +++ b/src/main/java/com/nlf/calendar/Lunar.java @@ -263,8 +263,9 @@ public class Lunar{ } private double dtCalc(double y) { - double y0 = DT_AT[DT_AT.length - 2]; - double t0 = DT_AT[DT_AT.length - 1]; + int size = DT_AT.length; + double y0 = DT_AT[size - 2]; + double t0 = DT_AT[size - 1]; if (y >= y0) { double jsd = 31; if (y > y0 + 100) { @@ -275,7 +276,7 @@ public class Lunar{ return v - dv * (y0 + 100 - y) / 100; } int i; - for (i = 0; i < DT_AT.length; i += 5) { + for (i = 0; i < size; i += 5) { if (y < DT_AT[i + 5]) { break; } @@ -326,15 +327,16 @@ public class Lunar{ } private double calcJieQi(double jd) { + int size = QI_KB.length; double d = 0; int pc = 7; jd += 2451545; - double f1 = QI_KB[0] - pc, f2 = QI_KB[QI_KB.length - 1] - pc, f3 = 2436935; + double f1 = QI_KB[0] - pc, f2 = QI_KB[size - 1] - pc, f3 = 2436935; if (jd < f1 || jd >= f3) { d = Math.floor(qiHigh(Math.floor((jd + pc - 2451259) * 24D / 365.2422) * Math.PI / 12) + 0.5); }else if (jd >= f1 && jd < f2) { int i = 0; - for (; i < QI_KB.length; i += 2) { + for (; i < size; i += 2) { if (jd + pc < QI_KB[i + 2]) { break; } @@ -388,7 +390,7 @@ public class Lunar{ int size = JIE_QI.length; for (int i=0;i