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