# cli-menu-app **Repository Path**: kunjs/cli-menu-app ## Basic Information - **Project Name**: cli-menu-app - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 67 - **Created**: 2025-11-13 - **Last Updated**: 2025-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CLI 菜单应用 (CLI Menu App) 一个基于Java和Picocli构建的现代化命令行菜单应用程序,提供交互式菜单界面和命令行参数支持。 ## 项目概述 这是一个使用Maven构建的Java命令行工具,具有以下特点: - **双模式运行**: 支持交互式菜单模式和命令行参数模式 - **美化界面**: 使用Picocli提供彩色输出和格式化显示 - **功能丰富**: 包含时间显示、斐波那契数列计算等实用功能 ## 技术栈 - **Java 17** - 项目使用Java 17特性 - **Maven** - 项目构建和依赖管理 - **Picocli 4.7.6** - 命令行参数解析和界面美化 ## 项目结构 ``` cli-menu-app/ ├── pom.xml # Maven配置文件 ├── src/main/java/com/example/climenu/ │ ├── Main.java # 主程序入口,处理交互式菜单 │ └── MenuCommand.java # Picocli命令定义和逻辑实现 └── target/ # 编译输出目录 ``` ## 功能特性 ### 1. 交互式菜单模式 当不带参数运行程序时,进入交互式菜单: - **选项1**: 显示当前时间 - **选项2**: 计算斐波那契数列(可指定项数) - **选项3**: 退出程序 ### 2. 命令行模式 支持直接通过命令行参数调用功能: ```bash # 显示帮助信息 java -jar cli-menu-app.jar --help # 显示当前时间 java -jar cli-menu-app.jar -t java -jar cli-menu-app.jar --time # 计算斐波那契数列前10项 java -jar cli-menu-app.jar -f 10 java -jar cli-menu-app.jar --fib 10 ``` ## 快速开始 ### 环境要求 - Java 17 或更高版本 - Maven 3.6+ (用于构建) ### 构建项目 ```bash mvn clean package ``` ### 运行程序 **方式1: 交互式菜单** ```bash java -jar target/cli-menu-app-1.0-SNAPSHOT.jar ``` **方式2: 命令行模式** ```bash # 显示帮助 java -jar target/cli-menu-app-1.0-SNAPSHOT.jar --help # 使用功能 java -jar target/cli-menu-app-1.0-SNAPSHOT.jar --time java -jar target/cli-menu-app-1.0-SNAPSHOT.jar --fib 15 ``` ## 开发说明 ### 核心类说明 #### Main.java - 程序主入口点 - 检测命令行参数,决定运行模式 - 实现交互式菜单循环逻辑 #### MenuCommand.java - 使用Picocli注解定义命令行参数 - 实现具体的功能逻辑 - 提供菜单显示方法 ### 扩展功能 要添加新功能,可以: 1. 在`MenuCommand.java`中添加新的`@Option`注解 2. 在`call()`方法中实现功能逻辑 3. 在`Main.java`的交互式菜单中添加对应选项 ## 示例输出 ### 交互式菜单界面 ``` ======== 欢迎使用 CLI 菜单助手 ======== 1. 显示当前时间 2. 计算斐波那契数列 3. 退出程序 ======================================== 提示: 运行 --help 查看详细帮助信息。 ``` ### 命令行输出示例 ```bash $ java -jar cli-menu-app.jar --time 🕒 2025-11-13 10:30:45 $ java -jar cli-menu-app.jar --fib 5 斐波那契数列(前5项): 0 1 1 2 3 ``` ## 许可证 本项目仅供学习和演示使用。