我试图找到字符串的反向

时间:2015-10-12 17:55:16

标签: java arrays

我做了一个程序,我必须找到字符串的反向.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);

}

2 个答案:

答案 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());

}