• 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());
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

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

    Option A is present.
    Option B value: geek
    Option C value: 888
    Option D value: [hello,world]
    
    • 1
    • 2
    • 3
    • 4

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

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

    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);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

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

    原始输入:
    -a
    -b
    geek
    -c
    888
    -d
    [hello,world]
    存储的数组:
    -a
    -b
    geek
    -c
    888
    -d
    [hello,world]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

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

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

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

    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);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    通过此代码片段,你可以将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]作为一个整体:

    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);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    -a
    -b
    geek
    -c
    888
    -d
    [hello,world]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在上述代码中,我们使用正则表达式",(?![^

    ]*\])"作为split()方法的参数。这个正则表达式使用逗号作为分隔符,并且在拆分时会排除方括号[]内的内容。这样,我们就可以保留[hello,world]作为一个整体存储在数组中。
  • 相关阅读:
    降低半导体金属线电阻的沉积和蚀刻技术
    如何在 R 中执行稳健回归
    六千字呕心沥血深度总结,为您揭秘ClickHouse为什么查询这么快!
    Vue3记录
    跨境电商未来前景—成都扬帆际海教育咨询有限公司
    声纹技术(七):声纹技术的未来
    电脑屏幕模糊?这5个方法教你恢复清晰屏幕!
    neo4j-jdbc-driver这个坑货
    电脑入门:电脑专业英语500词,供新手参考
    目标管理利器OKR-给被各大APP抢占使用时长的你
  • 原文地址:https://blog.csdn.net/weixin_50503886/article/details/132796430