Java 数组索引超出边界异常。如果可以,请帮忙

Java 数组索引超出边界异常。如果可以,请帮忙,java,arrays,encoding,indexoutofboundsexception,Java,Arrays,Encoding,Indexoutofboundsexception,非常接近完成这项任务,但看不出这其中的哪一部分阻碍了我。如果有人能让我走上正轨,我会非常感激的。下面是每次我尝试运行此程序时eclipse给我的错误代码 **线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:-2 在lab01.encodecode.backMap(EncodeDecode.java:162) 在lab01.encodecode.Decode(EncodeDecode.java:68) 在lab01.encodecode.(

非常接近完成这项任务,但看不出这其中的哪一部分阻碍了我。如果有人能让我走上正轨,我会非常感激的。下面是每次我尝试运行此程序时eclipse给我的错误代码

**线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:-2

在lab01.encodecode.backMap(EncodeDecode.java:162)

在lab01.encodecode.Decode(EncodeDecode.java:68)

在lab01.encodecode.(encodecode.java:26)

位于lab01.encodeTester.main(encodeTester.java:14)**

lab01包装;
导入java.util.*;
/**
* 
*@作者David Bierbrauer,
*
*/
公共类编解码
{
//方法声明
静态字符串[]原始列表、编码列表、解码列表;
静态整数合计;
公共编码解码(字符串[]oL)
{
//实例变量声明
总长度=总长度;
originalList=新字符串[总计];
encodedList=新字符串[总计];
decodedList=新字符串[总计];
原始列表=oL;
编码列表=编码(原始列表);
解码列表=解码(编码列表);
}
公共静态字符串[]编码(字符串[]原始列表)
{
//声明控制变量
字符串currentWord=“”,codedWord=“”;
charcurrentchar='';
int i=0,j=0,stringLength=0;
对于(i=0;i
这是下面的tester类,以防万一

package lab01;

public class EncodeDecodeTester 
{
    public static void main(String[] args)
    {
        EncodeDecode testEncoder;
        int x = 0;
        String[] output = new String[5];
        String[] oL = new String[] {"catdog","24","keys","Duck","PIZZA!"};


        //create encoder
        testEncoder = new EncodeDecode(oL);

        System.out.println("Encoded list:");
        for( x = 0; x < output.length; x++)
        {
            output = testEncoder.getEncodedList();
            System.out.println(output[x]);
        }

        System.out.println();
        System.out.println("Decoded List:");
        for(x = 0; x < output.length; x++)
        {
            output = testEncoder.getDecodedList();
            System.out.println(output[x] + " ");
        }
        System.out.println();

        System.out.println("End");
    }
}
lab01包装;
公共类编码测试仪
{
公共静态void main(字符串[]args)
{
编解码测试码;
int x=0;
字符串[]输出=新字符串[5];
package lab01;

public class EncodeDecodeTester 
{
    public static void main(String[] args)
    {
        EncodeDecode testEncoder;
        int x = 0;
        String[] output = new String[5];
        String[] oL = new String[] {"catdog","24","keys","Duck","PIZZA!"};


        //create encoder
        testEncoder = new EncodeDecode(oL);

        System.out.println("Encoded list:");
        for( x = 0; x < output.length; x++)
        {
            output = testEncoder.getEncodedList();
            System.out.println(output[x]);
        }

        System.out.println();
        System.out.println("Decoded List:");
        for(x = 0; x < output.length; x++)
        {
            output = testEncoder.getDecodedList();
            System.out.println(output[x] + " ");
        }
        System.out.println();

        System.out.println("End");
    }
}