Java中图形用户机界面的数据接收问题

这个程序是哪里的问题,输入的数据没有进入到计算中。

 package name1;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
//4)  编写图形界面的程序,接收用户输入的一个字符串和一个字符,将字符串中的所有该字符删除,打印输出新生成的结果字符串。
public class Picture extends Applet implements ActionListener
{
    Label prompt1;
    Label prompt2;
    TextField input1;
    TextField input2;
    //double d=0.0;
    //char []a=new char[100];
    String d="null";
    public void init()
    {
        prompt1=new Label("请输入一个字符串以及一个字符:");

        prompt2=new Label("+");
        input1=new TextField(10);
        input2=new TextField(5);
        add(prompt1);
        add(input1);
        add(prompt2);
        add(input2);
        input1.addActionListener(this);
        input2.addActionListener(this);
    }
    public void paint(Graphics g)
    {
        //String d=a.toString();
        g.drawString("最终输出的字符串为:"+d, 10, 50);//10,50是控制x,y的坐标的,在这里控制的是“你输入了数据”这句话的位置
    }
    public void actionPerformed(ActionEvent e)
    {
        char []a=new char[100];
        String b=input1.toString();
        String c=input2.toString();
        char []c1=c.toCharArray();
        char []ch=b.toCharArray();
        int i=0;
        int j=0;
        do{
            if(ch[i]==c1[0])
            {
                i++;
                continue;
            }
            else
            {
                a[j]=ch[i];
                i++;
                j++;
            }
        }while(i<b.length());
        d=a.toString();
        repaint( );
    }
}

package testPro;

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
//4) 编写图形界面的程序,接收用户输入的一个字符串和一个字符,将字符串中的所有该字符删除,打印输出新生成的结果字符串。
public class Picture extends Applet
{
Label prompt1;
Label prompt2;
TextField input1;
TextField input2;
//double d=0.0;
//char []a=new char[100];
String d="null";
char []a=new char[100];
String b;
String c;
char []c1 = new char[1000];
char []ch = new char[1000];
public void init()
{
prompt1=new Label("请输入一个字符串以及一个字符:");

    prompt2=new Label("+");
    input1=new TextField(10);
    input2=new TextField(5);
    add(prompt1);
    add(input1);
    add(prompt2);
    add(input2);
    input1.addKeyListener(new KeyListener() {

        @Override
        public void keyTyped(KeyEvent e) {
            // TODO Auto-generated method stub

        }

        @Override
        public void keyReleased(KeyEvent e) {
            b = input1.getText();
            c1 = b.toCharArray();

        }

        @Override
        public void keyPressed(KeyEvent e) {
            // TODO Auto-generated method stub

        }
    });
    input2.addKeyListener(new KeyListener() {

        @Override
        public void keyTyped(KeyEvent e) {
            // TODO Auto-generated method stub

        }

        @Override
        public void keyReleased(KeyEvent e) {
            // TODO Auto-generated method stub

        }

        @Override
        public void keyPressed(KeyEvent e2) {
            c = input2.getText();
            ch = c.toCharArray(); 
            //在这里处理你的逻辑,注意下标别越界

        }
    });
}
public void paint(Graphics g)
{
    //String d=a.toString();
    g.drawString("最终输出的字符串为:"+d, 10, 50);//10,50是控制x,y的坐标的,在这里控制的是“你输入了数据”这句话的位置
}

}