From 0abf3e3192f34fb84e3e913661a54016c7020752 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=B9=96=E5=B7=A7=E7=9A=84=E5=9C=B0=E7=90=83?=
<2779519252@qq.com>
Date: Fri, 21 Nov 2025 02:44:48 +0000
Subject: [PATCH 1/2] =?UTF-8?q?update=20pom.xml:=20=E6=9B=BF=E6=8D=A2?=
=?UTF-8?q?=E6=89=93=E5=8C=85=E6=8F=92=E4=BB=B6=EF=BC=8C=E6=94=AF=E6=8C=81?=
=?UTF-8?q?java=20-jar=E8=BF=90=E8=A1=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: 乖巧的地球 <2779519252@qq.com>
---
pom.xml | 43 +++++++++++++++++++++++++++++--------------
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/pom.xml b/pom.xml
index 8e594bb..3542646 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,19 +26,34 @@
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.3.0
-
-
-
- com.example.climenu.Main
-
-
-
-
-
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.6.0
+
+
+ jar-with-dependencies
+
+
+
+ com.example.climenu.Main
+
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
\ No newline at end of file
--
Gitee
From 9bd56b65c7ff0f20bc963c4d7bc4be010dab4359 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=B9=96=E5=B7=A7=E7=9A=84=E5=9C=B0=E7=90=83?=
<2779519252@qq.com>
Date: Wed, 3 Dec 2025 20:11:38 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=8C=E6=88=90TODO=E4=B8=AD=E7=9A=84?=
=?UTF-8?q?=E4=B8=A4=E4=B8=AA=E9=97=AE=E9=A2=98=EF=BC=9A=E7=BB=9F=E4=B8=80?=
=?UTF-8?q?=E6=96=90=E6=B3=A2=E9=82=A3=E5=A5=91=E8=AE=A1=E7=AE=97=E9=80=BB?=
=?UTF-8?q?=E8=BE=91=E3=80=81=E5=AE=8C=E5=96=84=E8=8F=9C=E5=8D=95=E4=BA=A4?=
=?UTF-8?q?=E4=BA=92=EF=BC=88=E8=A1=A5=E5=85=85=E4=BF=AE=E6=94=B9pom.xml?=
=?UTF-8?q?=E5=92=8CMain.java=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/example/climenu/MenuCommand.java | 47 +++++++++++++++++--
1 file changed, 42 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/example/climenu/MenuCommand.java b/src/main/java/com/example/climenu/MenuCommand.java
index 22b3841..fcc6c58 100644
--- a/src/main/java/com/example/climenu/MenuCommand.java
+++ b/src/main/java/com/example/climenu/MenuCommand.java
@@ -38,7 +38,8 @@ public class MenuCommand implements Callable {
}
System.out.println(Ansi.AUTO.string("@|yellow 斐波那契数列(前" + fibonacciCount + "项):|@"));
for (int i = 0; i < fibonacciCount; i++) {
- System.out.println(" " + Ansi.AUTO.string("@|cyan " + fibonacci(i) + "|@"));
+ System.out.println(" " + Ansi.AUTO.string(stringWithMarkup: "@|cyan " + fibonacci(i + 1) + "|@"));
+// 说明:i从0开始,+1后对应第1、2...n项,与方法逻辑匹配
}
return 0;
}
@@ -55,11 +56,47 @@ public class MenuCommand implements Callable {
System.out.println("2. " + Ansi.AUTO.string("@|yellow 计算斐波那契数列|@"));
System.out.println("3. " + Ansi.AUTO.string("@|yellow 退出程序|@"));
System.out.println(Ansi.AUTO.string("@|bold,blue ========================================|@") + "\n");
- System.out.println(Ansi.AUTO.string("@|italic 提示: 运行 --help 查看详细帮助信息。|@"));
- }
+ System.out.println(Ansi.AUTO.string("@|italic 提示: 运行 --help 查看详细帮助信息。|@"));// 新增:选项交互处理
+ Scanner scanner = new Scanner(System.in);
+ System.out.print("请选择操作(输入 1-3 或 'exit' 退出):");
+ String choice = scanner.nextLine().trim();
+
+ switch (choice) {
+ case "1":
+ 选项1:显示当前时间(与 -t 参数逻辑统一)
+ String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ System.out.println("⏰ " + Ansi.AUTO.string(stringWithMarkup: "@|bold,green " + now + "|@"));
+ break;
+ case "2":
+ // 选项2:计算斐波那契数列(已有代码,保持不变)
+ try {
+ System.out.print("请输入斐波那契数列的项数:");
+ int num = Integer.parseInt(scanner.nextLine().trim());
+ if (num <= 0) {
+ System.out.println(Ansi.AUTO.string(stringWithMarkup: "@|red 错误:请输入正整数!|@"));
+ break;
+ }
+ long result = fibonacci(num); // 调用公共计算方法
+ System.out.println("第" + num + "项斐波那契数是:" + Ansi.AUTO.string(stringWithMarkup: "@|cyan " + result + "|@"));
+ } catch (NumberFormatException e) {
+ System.out.println(Ansi.AUTO.string(stringWithMarkup: "@|red 错误:请输入有效的整数!|@"));
+ }
+ break;
+ case "3":
+ case "exit":
+ 选项3:退出程序
+ System.out.println("👋 " + Ansi.AUTO.string(stringWithMarkup: "@|green 退出程序,再见!|@"));
+ scanner.close(); // 退出前关闭Scanner
+ System.exit(0);
+ break;
+ default:
+ System.out.println(Ansi.AUTO.string(stringWithMarkup: "@|red 输入无效,请重新选择 1-3 或输入 'exit' 退出!|@"));
+ }
- private long fibonacci(int n) {
- if (n <= 1) return n;
+ // 公共斐波那契计算方法,供 Main 类调用
+ public long fibonacci(int n) {
+ if (n <= 0) return 0; // 输入非正整数返回0
+ if (n == 1 || n == 2) return 1; // 第1、2项均为1(符合常规定义)
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
\ No newline at end of file
--
Gitee