Java 我在试着找出绳子的反面

Java 我在试着找出绳子的反面,java,arrays,Java,Arrays,我制作了一个程序,在其中我必须找到字符串的倒数 线程“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

我制作了一个程序,在其中我必须找到字符串的倒数

线程“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);

}
publicstaticvoidmain(字符串参数[])
{
字符串s=“saima”;
//首先我们计算字符串的长度
int L=s.长度();
//现在,我对给定的字符串长度进行解析
char[]charArray=s.toCharArray();
//我宣布新的协议
char[]数组=新字符[L];
int j=L;

对于
charArray[j]
中的(int k=0;k),j最初是超出范围的,因为您将其初始化为字符串的大小

如果你改变

int j=L;

它会起作用的

或者您可以去掉
j
变量:

for(int k=0; k<L; k++)
{
    array[k] = charArray[L-1-k];
}

对于(int k=0;k在
charArray[j]
中,j最初是越界的,因为您将其初始化为字符串的大小

如果你改变

int j=L;

它会起作用的

或者您可以去掉
j
变量:

for(int k=0; k<L; k++)
{
    array[k] = charArray[L-1-k];
}

for(int k=0;kDid)您搜索异常是为了了解它是什么以及为什么会发生?您搜索异常是为了了解它是什么以及为什么会发生?