JAVA程序补全,完全不会啊

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
 {
private int data[][]=new int[2][101];
private int length=0;
void insert(int ai,int ei)
//在原有多项式中加入一个新项(系数ai,指数ei):查找ei的同类项,合并新项
{
    int i,j;
    i=0;
    while(i<length)
    {
        if(ei<=data[1][i]) break;
        i++;
    }
    if(i==length)  //(ai,ei)为多项式里面的最大指数项,直接在length标记单元置入新项即可
    {data[0][length]=ai;data[1][length]=ei;length++;}
    else//在原多项式里面找到了不小于ei的项
        if(ei==data[1][i]) data[0][i]+=ai;
        else
        {
            for(j=length-1;j>=i;j--) {data[0][j+1]=data[0][j];data[1][j+1]=data[1][j]; } 
            data[0][i]=ai;
            data[1][i]=ei;
            length++;
        }
}
void zjh()
//消除的0系数项
{
    int i,j;
    i=0;
    while(i<length) {
        if(data[0][i]==0) break;
        i++;
    }
    j=i;
    i=j+1;
    while(i<length) {
        if(data[0][i]!=0) 
           {data[0][j]=data[0][i];data[1][j]=data[1][i];j++;}
        i++;
    }
    length=j;
    
}

void outpoly()
//遍历数组并输出数据
{
    int i;
    if(length==0) System.out.println("f(X)=0 ");
    else {
        System.out.print("f(X)= "+data[0][0]+"X"+data[1][0]);
        i=1;
        while(i<length){
            if(data[0][i]>0) System.out.print(" + "+data[0][i]+"X"+data[1][i]);
            else System.out.print(" - "+(-1*data[0][i])+"X"+data[1][i]);
            i++;            
        }
        System.out.println("\n");
    }
}

int getai(int i)
//取第i项的系数:i越界否,若否return data[0][i]
{return data[0][i];}
int getei(int i)
//取第i项的指数:i越界否,若否return data[1][i]
{return data[1][i];}
int getlength()
//return length
{return length;}
}



 {
 public static void main(String args[]){
     poly f1;//,f2,fadd,fmulty
     int ai,ei;
     Scanner rs=new Scanner(System.in);
     //创建f1多项式:调用insert若干次;调用zjh;调用outpoly
     f1=new poly();
     System.out.print("请输入一个项(ai,ei)(0,0)表示结束:");
     ai=rs.nextInt();
     ei=rs.nextInt();
     while(ai!=0) {
         f1.insert(ai, ei);
         f1.outpoly();
         System.out.print("请输入一个项(ai,ei)(0,0)表示结束:");
         ai=rs.nextInt();
         ei=rs.nextInt();
         
     }
     f1.outpoly();
     f1.zjh();
     f1.outpoly();
     //创建f2多项式:调用insert若干次;调用zjh;调用outpoly

     //fadd =f1+f2:

     //fmulty =f1*f2

  }

}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

是多项式相加还是什么来着,记不清了。

没有题目吗,只是补全代码注释不太好理解代码意思。