不帮做作业,不过可以告诉你怎么做。
1. 输入部分,你可以用 BufferedReader 包装 System.in 来进行按行读入数据,再进行分析。这部分内容你可以参数我的文章:http://jamesfancy.mblogger.cn/posts/28278.aspx
2. 这个简单,计算出来了之后用 System.out 就能输出来了。
3. 这个和上一个也差不多吧
4. 用4 个类,为什么要用4个类呢?我觉得1个员工类就可以了啊——哦对了,还要加上对员工进行管理的类,如果把主程序分离出来,又可以多一个类,但是第4个类是什么呢?——那就专门写一个类来根据条件计算假期吧。

解决方案 »

  1.   

    大哥写详细一点,没时间,我一般用c,java不熟,我也是帮别人做呵呵。
      

  2.   

    import java.io.*;
    import java.util.*;public class test
    { static String id, age, year;public static void main(String args[])
    {ArrayList workers = new ArrayList(0);BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); 
    while(true)
    {try{
    System.out.println("请输入员工ID:");
    id = input.readLine();
    System.out.println("请输入员工年龄");
    age = input.readLine();
    System.out.println("请输入员工工龄");
    year = input.readLine();workers.add(new Worker(id, age, year));
    System.out.println("继续输入? Y/N");
    String flag = input.readLine();
    if(flag.equalsIgnoreCase("n"))
    break;
    }catch(IOException e){};
    }System.out.println(workers.size());
    for(int j=0;j<workers.size();j++)
    {
    System.out.println(((Worker)workers.get(j)).getId()+ " 号员工假期为 : "+CalHoliday.getHoliday((Worker)(workers.get(j)))+" 天");
    }System.out.println("员工平均假期为: "+CalHoliday.aveHoliday(workers)+" 天.");
    }
    }class Worker
    {
    private String id;
    private int age, year;
    Worker(String id, String age, String year)
    {
    this.id = id;
    this.age = Integer.parseInt(age);
    this.year = Integer.parseInt(year);
    }
    int getAge()
    {
    return age;
    }String getId()
    {
    return id;
    } int getYear()
    {
    return year;
    }}class Department
    {
    static int getDep(Worker worker)
    {
    String id = worker.getId();
    if(id.substring(0,1).equals("1"))
    {return 1;}
    else 
    {return 0;}
    }
    }class CalHoliday
    {
    static int getHoliday(Worker worker)
    {
    int holiday=0;if(Department.getDep(worker)==1)
    holiday = holiday+20;if(worker.getAge()>55)
    holiday = holiday+5;if(worker.getYear()>10)
    holiday = holiday+3;return holiday;}static int aveHoliday(ArrayList workers)
    {
    int sum=0;
    int size = workers.size();
    for(int i=0;i<workers.size();i++)
    {
    Worker temp = (Worker)workers.get(i);
    sum+=getHoliday(temp);
    }
    return sum/size;
    }
    }呵呵, 简单写了一下, 见笑了