gpt4 book ai didi

java - 为什么这个程序只给出前两个单词作为输出? s1[] 中存储了什么数据?

转载 作者:行者123 更新时间:2023-12-02 11:27:23 25 4
gpt4 key购买 nike

我试图使用 split() 函数,但我不知道数据如何存储在字符串中(确切地说是下面代码中的 s1[] ),并且在使用 for 循环显示它时,它给出的输出为“hello” java '。请帮助我理解使用 split() 函数后数据如何存储在 s1[] 中的结构以及为什么此代码显示上述输出!

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==0i==1 。当i==2 ,条件i < s1.length-1是假的。

只需删除 -1

String s = "hello java world";
String[] s1 = s.split("\\s");
for(int i = 0; i < s1.length; i++) {
System.out.println(s1[i]);
}

我添加了空格以使其更清晰。还移了[]在数组声明中(根据我读到的内容),这是首选位置。并更改printprintln将每个单词打印在自己的行上。

关于java - 为什么这个程序只给出前两个单词作为输出? s1[] 中存储了什么数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49515291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com