..晕。在这里找JAVA高手。。
不熟。。顶一下。。

解决方案 »

  1.   

    发错地方了,帮你转到JAVA区
    ~~~~~~~~~~~~~~~~~~
      

  2.   

    错误太多,不过提示都很明确,应该可以自己改的,逻辑性没验证,下面是通过编译的代码:import java.applet.Applet ;
    import java .awt .* ;
    import java .util.* ;
    public class UseAbstract extends Applet
    {
        CommonEmployee ComEmp;
        ManagerEmployee MgrEmp;
        Label prompt1,prompt2;
        TextField y1,m1,d1,dd1,y2,m2,d2,dd2;
        public void init()
        {
             prompt1=new Label("¹ÍÔ±µÄ¿ªÊ¼¹¤×÷ÈÕÆÚÓëÐݼÙÌìÊý£º19");
             y1=new TextField(3);
             m1=new TextField(3);
             d1=new TextField(3);
             dd1=new TextField(3);
             prompt2=new Label("Ö÷¹ÜµÄ¿ªÊ¼¹¤×÷ÈÕÆÚÓëÐݼÙÌìÊ飺19");
             y2=new TextField(3);
             m2=new TextField(3);
             d2=new TextField(3);
             dd2=new TextField(3);
             add(prompt1);add(y1);add(m1);add(d1);add(dd1);
             add(prompt2);add(y2);add(m2);add(d2);add(dd2);
         }public void paint(Graphics g)
    {
        if(ComEmp.goVacation(Integer.parseInt(dd1.getText())))
            g.drawString("This common Employee can enjoy vacation",20,80);
        else
            g.drawString("What a pity,work more time first!",20,80);
        if(MgrEmp.goVacation(Integer.parseInt(dd2.getText())))
            g.drawString("This common Employee can enjoy vacation",20,100);
        else
            g.drawString("Too long a vacation,reduce the day",20,100);
    }
    public boolean action(Event e,Object o)
    {
        if(e.target==dd2)
        {
            ComEmp=new CommonEmployee(new Date(Integer.parseInt(y1.getText()),
                   Integer.parseInt(m1.getText()),
                   Integer.parseInt(d1.getText())));
            MgrEmp=new ManagerEmployee(new Date(Integer.parseInt(y2.getText()),
                   Integer.parseInt(m2.getText()),
                   Integer.parseInt(d2.getText())));
           
        }
    repaint();
    return true;
    }}
    abstract class Employee
    {
    Date m_StartWorkData;
    abstract boolean goVacation(int days);
    }
    class CommonEmployee extends Employee 
    {
    static int m_MinWorkYears=3;
    CommonEmployee(Date swd)
    {
    m_StartWorkData=new Date (swd.getTime());
    }
    boolean goVacation(int days)
    {
    Date now=new Date ();
    if(now.getYear()-m_StartWorkData.getYear()>=3&&days<=21)
    return true;
    else
    return false;
    }
    }
    class ManagerEmployee extends Employee 
    {
    ManagerEmployee(Date swd)
    {
    m_StartWorkData=new Date (swd.getTime());
    }
    boolean goVacation(int days)
    {
    if(days<=60)
    return true;
    else
    return false;
    }
    }