public class Reverse {
public static void main(String[] args) {
char name[]="prakash".toCharArray();////initialisng array
////////swapping string order//////////////
//////////i.e. reversing array of characters//////////
for(int i=0;i<=(name.length)/2;i++)
{
int j=name.length-i;
char temp;
temp=name[i];
name[i]=name[j];
name[j]=temp;
}
}
}
我收到以下错误:java.lang.ArrayIndexOutOfBoundsException
。代码有什么问题?
答案 0 :(得分:2)
数组索引从零开始:“first”元素为0,“last”元素为length-1
。
因此,如果您希望j
从最后一个元素开始,那么它应该是
int j=name.length-1-i;
答案 1 :(得分:1)
尝试
for (int i = 0; i <= (name.Length-1) / 2; i++)
{
int j = (name.Length-1) - i;
char temp;
temp = name[i];
name[i] = name[j];
name[j] = temp;
}
答案 2 :(得分:0)
你在哪里
int j=name.length-i;
你应该
int j=name.length-i-1;
因为数组基于零,并且在name.length
位置没有条目。