题目:已知教师数据包括:编号、姓名、工作日期、基本工资、岗位工资。 
编写一个程序,完成如下功能: 
(1) 输入10个教师数据。 
(2) 找出其中总工资(即两项工资之和)最低的教师,并输出其数据。 
(3) 找出最晚参加工作的教师,并输出其数据。 
分别编写函数完成以上功能,并写出完整的程序。 
(要求用结构体数组存放教师信息,采用指针变量作为函数参数。) 题目上说用结构体数组,请问Java中有结构体吗?怎么实现啊 ?采用指针变量,这又怎么弄啊?
尽量详细点哦!

解决方案 »

  1.   

    JAVA 里面可以用类代替C里面的结构体
    指针可以用 引用来代替
      

  2.   

    public class Teacher {
    public static void main (String args[]) { 
    Teacher tt [] = new Teacher[10];
    /**
    作业要自己做 ,所以就不写全了
    */class TeacherInfo {
    int id;
    String name;
    int workDay;
    double baseGet;
    double jobGet;
    Teacher(int id,String name ,int workDay,double baseGet,double jobGet) {
    this.id = id ;
    this.name = name;
    this.workDay = workDay;
    this.baseGet = baseGet;
    this.jobGet =jobGet;
    }

    int compare(Teacher t) {
    (this.baseGet+this.jobGet) < = (t.baseGet+t.jobGet) ? 1:-1; 
    }
        

    }
      

  3.   

    public class Tester {
      LinkedList<Teacher> list = new LinkedList<Teacher>();
      public static void main(String[] args) {
        //录入教师信息
        ....
       ....
       . ..
       Iterator<Teacher> itr = list.iterator();
       //遍历链表寻找要求2、3中的Teacher
      }  class Teacher {
         protected String id,name,workDate;
         protected double basicWage,jobWage;
         public Teacher(String id, String name, String workDate, double basicWage, double jobWage) {
             this.id = id;
             this.name = name;
             this.workDate = workDate;
             this.basicWage = basicWage;
             this.jobWage = jobWage;
         }     public double getWage(){
             return (basicWage + jobWage);
         }     public Date getWorkDate() {
             Date workTime = new DateFormat().parse(workDate);
             return workTime;
         }
      }
    }
      

  4.   

    2:
    double wage = 0.0;
    Teacher temp;
    while(itr.hasNext()){
       Teacher teacher = itr.next();
       if(teacher.getWage() > wage){
          wage = teacher.getWage();
          temp = teacher;
       }
    }
    3:
    Date nowDate = new DateFormate().parse("2009-07-12");
    Teacher teacher;
    while(itr.hasNext()){
       Teacher temp = itr.next();
       if(teacher.getWorkDate().befor(nowDate)){
         nowDate = teacher.getWorkDate();
         teacher = temp;
       }
    }