我想将String“Hello World”更改为“World hello”。这是我的代码:
class StringTest
{
public static void main(String args[])
{
String str= "Hello World";
String wordcount[]=str.split(" ");
int count= wordcount.length;
System.out.println(count);
for(int i=count;i>0;i--)
{
System.out.print(wordcount[i]);
}
}
}
获取错误ArrayOutOfBoundException
。请帮忙。
答案 0 :(得分:3)
没有与count
匹配的索引。
数组的起始索引是第0个索引。因此,如果您的数组的长度为5
,则其索引从0
到4
更改
for(int i=count;i>0;i--){ // there is no index in array for count
// and this for loop not consider 0th index
System.out.print(wordcount[i]);
}
到
for(int i=count-1;i>-1;i--){ //now loop starts from count-1 and consider 0index
System.out.print(wordcount[i]);
}
答案 1 :(得分:2)
数组在Java中基于零。你应该这样做:
for(int i=count-1;i>0;i--)
↑
如果您有一个大小为N
的数组,则索引的范围为[0, N-1]
:
"I love to lie down and pretend I'm a carrot"
↓↓↓↓↓↓↓↓↓↓ ↓
0123456789... 42
答案 2 :(得分:0)
你可以像这样使用
String str= "Hello World";
String wordcount[]=str.split(" ");
int count= wordcount.length;
System.out.println(count);
for(int i=count-1;i>=0;i--)
{
System.out.print(wordcount[i]);
}