Java中跨类调用命令行控制的布尔标志位方法咨询
实现方案
要完成这个需求其实很简单,你只需要在目标类里按以下步骤操作即可:
1. 实例化CLIReader类
首先创建CLIReader的实例,因为我们需要调用它的参数解析方法和标志获取方法。
2. 传入命令行参数完成解析
调用readCommandLineParameters方法,把程序启动时的命令行参数数组args传进去,让它完成参数解析并设置spit_everythingtoLog标志位。
3. 获取标志位并判断输出
通过getFlag()方法拿到标志的布尔值,根据这个值打印对应的内容。
完整代码示例
假设你的入口类是Main,代码可以写成这样:
public class Main { public static void main(String[] args) { // 初始化CLIReader实例 CLIReader cliReader = new CLIReader(); // 解析命令行参数 cliReader.readCommandLineParameters(args); // 根据标志位输出结果 System.out.println(cliReader.getFlag() ? "Yes" : "No"); } }
重要注意事项
- 先修正
CLIReader中readCommandLineParameters方法的语法错误:原代码里catch (Exception e)块后面多了一个多余的} else {,这会导致编译失败,你需要把这个错误的代码结构调整正确,确保方法能正常运行。 - 确保
CLIReader类中已经正确声明了serverUrl、user、password这些成员变量(原代码里没展示它们的定义,必须保证这些变量存在才能正常解析参数)。
这样一来,当用户传入包含-v的命令行参数时,程序会输出Yes;没有传入-v时则输出No。
内容的提问来源于stack exchange,提问作者Rajat Krishnan
相关产品推荐
相关产品推荐

