微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何分隔字符串数组中的输入?空间? 初学者

如何解决如何分隔字符串数组中的输入?空间? 初学者

下面是代码

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

当我输入 one 时,输出one 我明白这一点。

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

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

解决方法

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

,

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

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

java -jar YourProgram.jar "one two" 
,

你说的是程序参数。这些旨在在程序启动时指定一些选项,它们总是由空格符号分隔。

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

,

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

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

以上是您在其中所做的等效代码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。