【问题标题】:how to separate input in String array? Space? (beginner)如何分隔字符串数组中的输入?空间? (初学者)
【发布时间】:2021-06-24 17:12:27
【问题描述】:

下面是代码。

public static void main(String[] args) {
    for(String e : args) {
        System.out.println(e);
    }
}

当我输入one时,输出是one我明白了。

但是,当输入one two 时,输出不是one two 但是onetwo

空格不是字符吗?如果不是,空格是否分隔字符串数组中的每个输入?

【问题讨论】:

    标签: java arrays input space


    【解决方案1】:

    实际上是调用程序(通常是 shell)拆分参数。

    例如,在 bash shell 中,您可以这样调用程序并在一行中获取 one two,因为它是您程序的一个参数:

    java -jar YourProgram.jar "one two" 
    

    【讨论】:

      【解决方案2】:

      args 变量以空格分隔。当您从命令行将参数传递给 main 时,每个空格将指示不同的参数。例如。 C:\program.exe stuff1 stuff2 会将 stuff1stuff2 视为两个单独的数组元素。

      【讨论】:

        【解决方案3】:

        您在谈论程序参数。这些是为了在程序启动时指定一些选项,它们总是用空格符号分隔。

        如果您想在您的程序中使用用户输入,请查看Scanner - 这是最简单的方法。它为您提供了诸如nextInt() 读取数字或nextWord() 读取单词(用空格分隔)或nextLine() 读取一行而不用空格分隔的方法。

        【讨论】:

          【解决方案4】:

          在 Java 中,args 包含作为 String 对象数组提供的命令行参数。
          如果您以 one two 身份运行程序,则 args 将包含 ["one", "two"]
          所以你基本上在做的是遍历字符串数组打印它的每个元素。
          这就是你得到"one", "two"而不是"one two"的原因

          for(int i=0;i<args.length;i++)
          {
               System.out.println(args[i]);
          }
          

          上面是你在你的代码中所做的等效代码。

          【讨论】:

            【解决方案5】:

            您可以使用BufferedReader 轻松地从控制台读取输入。

            代码:

            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String input1 = br.readLine();
            

            【讨论】:

              【解决方案6】:

              空格字符用于分隔 args 数组中的元素,顺便说一下,可以给它任何有效的变量名。见https://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html

              如果您希望您的程序在一行中打印一个二,请将两个单词作为一个字符串传递,然后像这样运行您的程序:

              java -jar yourJarFile.jar "one two"

              你也可以看看这个答案What is "String args[]"? parameter in main method Java

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-03-23
                • 2016-01-03
                相关资源
                最近更新 更多