import java.applet.Applet;
import java.awt.Event;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;public class SeparateNum extends Applet{
    Label lab; //定义一个标签
    TextField tf; //定义一个文本
    String s;
    
    public void init(){  //初始方法
        lab=new Label("输入一个人人任意长度的整数");
        tf=new TextField(19);
        
        add(lab);  //添加一个
        add(tf);    //再来一个    
    }
        
    public boolean action(Event e,Object o){  //事件监听器
        if(e.target==tf){
            long num=Long.parseLong(tf.getText()); //取出写入的数字
            s=String.valueOf(num);   
        }
        repaint();
        return true;
    }
    
    public void paint(Graphics g){
     int x=15,y=15;
     for(int i=0;i<s.length();i++){
     g.drawString(s.charAt(i)+"", x, y);
     x+=10;
     }
    }
}这是一个拆数字的算法,谁能给我分析下错误,谢谢了