Java输入-a,-b,geek,-c,888,-d,[hello,world]字符之后,如何将[hello,world]这个不分开

Java输入-a,-b,geek,-c,888,-d,[hello,world]字符之后,如何将[hello,world]这个不分开?

你可以使用命令行参数解析库来处理Java输入中的各个参数。在这种情况下,你可以使用Apache Commons CLI库来解析命令行参数。以下是一个示例代码片段,演示如何解析输入并保持[hello,world]作为一个整体:

import org.apache.commons.cli.*;

public class Main {

public static void main(String[] args) {

Options options = new Options();

options.addOption("a", false, "Option A");

options.addOption("b", true, "Option B");

options.addOption("c", true, "Option C");

options.addOption("d", true, "Option D");

复制代码
    CommandLineParser parser = new DefaultParser();
    try {
        CommandLine cmd = parser.parse(options, args);

        if (cmd.hasOption("a")) {
            System.out.println("Option A is present.");
        }

        if (cmd.hasOption("b")) {
            String value = cmd.getOptionValue("b");
            System.out.println("Option B value: " + value);
        }

        if (cmd.hasOption("c")) {
            String value = cmd.getOptionValue("c");
            System.out.println("Option C value: " + value);
        }

        if (cmd.hasOption("d")) {
            String value = cmd.getOptionValue("d");
            System.out.println("Option D value: " + value);
        }

        String[] remainingArgs = cmd.getArgs();
        if (remainingArgs.length > 0) {
            String lastArg = remainingArgs[remainingArgs.length - 1];
            System.out.println("Last argument: " + lastArg);
        }
    } catch (ParseException e) {
        System.out.println("Command line parse error: " + e.getMessage());
    }
}

}

通过此代码片段,你可以解析输入并将[hello,world]保持为一个整体。在命令行中,使用-a -b geek -c 888 -d [hello,world]作为参数运行上述代码,然后你将获得以下输出:

c 复制代码
Option A is present.
Option B value: geek
Option C value: 888
Option D value: [hello,world]

Java输入-a,-b,geek,-c,888,-d,[hello,world]字符之后,变成数组存储?

你可以将输入参数转换为一个字符串数组并按顺序存储。以下是一个示例代码,演示如何将输入参数存储在一个Java字符串数组中:

c 复制代码
public class Main {
    public static void main(String[] args) {
        String[] input = {"-a", "-b", "geek", "-c", "888", "-d", "[hello,world]"};

        // 打印原始输入
        System.out.println("原始输入:");
        for (String arg : input) {
            System.out.println(arg);
        }

        // 将输入参数存储到数组中
        String[] storedArray = new String[input.length];
        System.arraycopy(input, 0, storedArray, 0, input.length);

        // 打印存储的数组
        System.out.println("存储的数组:");
        for (String arg : storedArray) {
            System.out.println(arg);
        }
    }
}

通过此代码片段,你将得到以下输出:

c 复制代码
原始输入:
-a
-b
geek
-c
888
-d
[hello,world]
存储的数组:
-a
-b
geek
-c
888
-d
[hello,world]

这样,你就可以将输入参数按顺序存储在字符串数组中,方便后续处理和使用。

scanner.next();的返回值如何变成数组?

要将Scanner的next()方法返回的值存储到数组中,你可以使用一个ArrayList来接收所有的值,然后将其转换为数组。以下是一个示例代码,演示如何将Scanner的返回值存储为数组:

c 复制代码
import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<String> values = new ArrayList<>();

        while (scanner.hasNext()) {
            String value = scanner.next();
            values.add(value);
        }

        String[] array = values.toArray(new String[0]);

        // 打印数组
        for (String value : array) {
            System.out.println(value);
        }
    }
}

通过此代码片段,你可以将Scanner的每个返回值存储在ArrayList中。然后,使用toArray()方法将ArrayList转换为字符串数组。最后,你可以打印数组中的值。

请注意,此示例将从标准输入中一直读取,直到遇到文件末尾(Ctrl+D)或其他终止条件。你可以根据自己的需求进行适当的修改。

Java中输入字符串-a,-b,geek,-c,888,-d,[hello,world]。拆分成数组的时候如何将[hello,world]完整不拆开?

要将输入字符串-a,-b,geek,-c,888,-d,[hello,world]拆分成数组时,可以使用逗号作为分隔符并排除方括号[]内的内容。以下是一个示例代码,演示如何将该字符串拆分为数组并保留[hello,world]作为一个整体:

c 复制代码
public class Main {
    public static void main(String[] args) {
        String input = "-a,-b,geek,-c,888,-d,[hello,world]";

        // 拆分字符串并保留 [hello,world] 作为整体
        String[] array = input.split(",(?![^\\[\\]]*\\])");

        // 打印拆分后的数组
        for (String item : array) {
            System.out.println(item);
        }
    }
}

通过此代码片段,你将得到以下输出:

c 复制代码
-a
-b
geek
-c
888
-d
[hello,world]

在上述代码中,我们使用正则表达式",(?![^\[\]]*\])"作为split()方法的参数。这个正则表达式使用逗号作为分隔符,并且在拆分时会排除方括号[]内的内容。这样,我们就可以保留[hello,world]作为一个整体存储在数组中。

相关推荐
Hellyc1 小时前
基于模板设计模式开发优惠券推送功能以及对过期优惠卷进行定时清理
java·数据库·设计模式·rocketmq
lifallen1 小时前
Paimon LSM Tree Compaction 策略
java·大数据·数据结构·数据库·算法·lsm-tree
啟明起鸣2 小时前
【网络编程】简易的 p2p 模型,实现两台虚拟机之间的简单点对点通信,并以小见大观察 TCP 协议的具体运行
c语言·网络·tcp/ip·p2p
hdsoft_huge2 小时前
SpringBoot 与 JPA 整合全解析:架构优势、应用场景、集成指南与最佳实践
java·spring boot·架构
百锦再2 小时前
详细解析 .NET 依赖注入的三种生命周期模式
java·开发语言·.net·di·注入·模式·依赖
程序员的世界你不懂3 小时前
基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(2)对框架加入业务逻辑层
java·selenium·maven
风吹落叶花飘荡3 小时前
2025 Next.js项目提前编译并在服务器
服务器·开发语言·javascript
失败又激情的man3 小时前
python之requests库解析
开发语言·爬虫·python
专注VB编程开发20年4 小时前
常见 HTTP 方法的成功状态码200,204,202,201
开发语言·网络协议·tcp/ip·http
有没有没有重复的名字4 小时前
线程安全的单例模式与读者写者问题
java·开发语言·单例模式