我试图使用split((函数,但我不知道数据是如何存储在字符串中的(恰恰是以下代码中的s1 [](,而在使用它显示的同时循环将输出作为" Hello Java"。请帮助我了解使用split((函数之后数据中数据存储的结构,以及为什么此代码显示上述输出!
String s="hello java world";
String s1[]*=s.split("\s");
for(int i=0;i<s1.length-1;i++)
{
System.out.print(s1[i]);
}
Output:
hello
java
除了错误的*
外,问题还处于for
循环条件下。之后,分开字符串,s1.length == 3
和有效索引为0,1,2
。因此,您的循环仅通过i==0
和i==1
迭代。当i==2
时,条件i < s1.length-1
为false。
只是摆脱-1
String s = "hello java world";
String[] s1 = s.split("\s");
for(int i = 0; i < s1.length; i++) {
System.out.println(s1[i]);
}
我添加了空间以使其变得更加清晰。还将数组声明中的[]
移动为(从我阅读的内容(中,这是首选位置。并将print
更改为println
,以在其自己的行上打印每个单词。