我做了一个程序,我必须找到字符串的反向.i发现以下错误
线程中的异常" main" java.lang.ArrayIndexOutOfBoundsException:5 在mypackage.Reverse1.main(Reverse1.java:18)
以下是我的代码
public static void main(String args[])
{
String s ="saima";
//first we cal length of string
int L= s.length();
//now i declchararry of given string length
char[] charArray = s.toCharArray();
// i decl new arry
char[] array=new char[L];
int j=L;
for(int k=0; k<L; k++)
{
array[k]= charArray[j];
j--;
}
String output1 = new String(array);
System.out.println("output1 : " + output1);
}
答案 0 :(得分:4)
在charArray[j]
中,j最初超出界限,因为你将它初始化为String的大小。
如果你改变了
int j=L;
到
int j=L-1;
它会起作用。
或者你可以摆脱j
变量:
for(int k=0; k<L; k++)
{
array[k] = charArray[L-1-k];
}
答案 1 :(得分:1)
public static void main(String args[])
{
String s ="saima";
System.out.println("output1 : " + new StringBuilder(s).reverse().toString());
}