现在我需要做一个记录公司员工的JAVA程序...而且还不能用数据库...
主要目的是能够记录每个输入的员工信息..具体有工作职位,员工号..年龄..性别和工资..并且系统能够让经理直接雇佣或者解雇员工..并且查看所有员工名单,经理名单,所有男性员工名单,所有女性员工名单..超过一定年龄员工的名单以及公司总的工资...
下面是我写出的部分代码:
import java.io.*;public class Company{private String jobtitle;private String name;private string sex;private String salary;private int idnumber;private int age;//consturctor
public Employee (String jobtitle,String name,String sex,String salarey,int idnumber,int age){this.jobtitle = jobtitle;
this.name = name;
this.salary = salary;
this.sex = sex;
this.age = age;
this.idnumber = idnumber;}public Employee (Employee s) {
this.jobtitle = s.jobtitle;
this.name = new String(s.name);
this.salary = s.salary;
this.age = s.age;
this.sex = s.sex;
this.idnumber = s.idnumber;
}public void SetJobtitle(String jobtitle){
this.jobtitle = jobtitle;}public void setName(String name){
this.name = name;}     public void setSex(String sex){
this.sex = sex;}public void setSalary(String salary){
this.salary = salary;}     public void setAge(Int age){
this.age = age;} public void setIdnumber(Int idnumber){
this.idnumber = idnumber;}                       public String getJobtitle(){
return jobtitle;} public String getName(){
return name;}public String getSex(){
return sex;}public String getSalary(){
return salary;}public int getAge(){
return age;}public int getIdnumber(){
return idnumber;}
                                                                                                      
public String toString(){
return getJobtitle()+"\n"+getName()+"\n"+getIdnumber()+"\n"+getAge()+"\n"+getSex()+"\n"+getSalary();}
public Static Employee getAEmployee(int i){
Employee employeei;
System.out.println("Enter NO."+i+"STAFF DETAIL.");
System.out.println("Idnumber");
Int idnumber = keyboard.getInteger();
System.out.printle("Jobtitle");
String Jobtitle = keyboard.getString();
System.out.println("Name");
String Name = keyboard.getString();
System.out.println("Sex");
String Sex = keyboard.getString();
System.out.println("Salary");
String Salary = keyboard.getString();
System.out.println("Age");
String Age = keyboard.getInterger();
employeei = new employ(idnumber,name,jobtitle,sex,salary,age);
return emplyeei;}public class Director extends Employee
{
public boolean add(Employee aEmployee){
if (find(aEmployee.getIdnumber())>= 0 return false;
this.Employee[size] = new Employee(new int(a Employee.getIdnumber());
new String (aEmployee.getJobtitle(),aEmployee.getName(),aEmployee.getSex(),aEmployee.getSalary());
aEmployee.getAge());
size ++;
return ture;}public boolean del(Employee aEmployee){
int pos = find(aEmployee.getIdnumber());
if(pos == -1)return false;
for(int i = pos + 1;i<size;i++)
Employee[i-1] = Employee[i];
size--;
return ture;}
}
这些都是我看书写出的员工类和经理类...但是有错误..说是在PUBLIC EMPLOYEE(INT AGE)和PUBLIC EMPLOYEE(EMPLOYEE S)那里INVALID METHOD DECLARATION.RETURN TYPE REQUIRED...谁知道这是为什么啊...
还有那个列出员工名单的代码应该是用什么写啊...能给出个例子就太好拉...
还有这个程序写完以后应该还要有个窗口文件,让经理选择的谁能告诉我哪个应该用什么做啊...因为我是菜鸟...这个是我们马上要教的作业求各位高手帮忙啊...

解决方案 »

  1.   

    类的组织有问题,
    你是Company类,但是为什么构造函数名叫Employee呢?架构大概如下
    // 雇员
    public class Employee
    {}
    // 经理
    public class Director extends Employee
    {}public class Company
    {
       // 公司里面有雇员
       private List users;...
       
    }窗口文件我没明白是什么意思,可能是要求做一个界面吧.
    也就是允许从外部操作的界面。
    你直接用命令行输入输出控制吧,也能接受。
      

  2.   

    一个类的构造函数名必须和类名相同。
    你的类叫Company ( 就是你的public class Company)
    但是你的构造函数(没有返回值的function),却是Employee 。你把你贴出来的第一行代码的company改成employee
      

  3.   

    这个要求不高。。
    我们当时java是选修,一个学期就那么三四十小时的课
    最后的作业是(选做)
    (1)需要有图形界面的聊天室
    (2)地图查看器,能够查找地点,放大,缩小等等。
      

  4.   

    多谢你们的讲解...我按照你们说的给改了一下..现在还有一个错误就是在PUBLIC STATIC EMPLOYEE GETAEMPLOYEE那里提示说需要";"符号...这改怎么改啊?
      

  5.   

    所有的Int也改成int,要小写。
    你的代码很多错的地方。开发用个IDE吧,你都在记事本写?
    比如就是那个方法,声明的时候
    叫:                employeei
    返回的时候就变成了:emplyeei没法改啊,大哥。
      

  6.   

    不是不如不改,这个是必须改的,要么就不要static,要么就肯定小写。
    你要是吧public class 也大写成Class,保证其它的错误都不出来了。
    但是不出来,不等于不存在。唉...真是...
    你先改改吧,
    要是Int大写也能通过,麻烦告诉我。
      

  7.   

    呵呵...我说不改是开玩笑的...不改怎么能通过呢...我本来是想用IDE来着..可是我们学校用的CONTEXT..没有设置..不能运行..只好用记事本写了啊...
      

  8.   

    import java.io.*;public class Employee{private String jobtitle;private String name;private string sex;private String salary;private int idnumber;private int age;//consturctor
    public Employee (String jobtitle,String name,String sex,String salarey,int idnumber,int age){this.jobtitle = jobtitle;
    this.name = name;
    this.salary = salary;
    this.sex = sex;
    this.age = age;
    this.idnumber = idnumber;}public Employee (Employee s) {
    this.jobtitle = s.jobtitle;
    this.name = new String(s.name);
    this.salary = s.salary;
    this.age = s.age;
    this.sex = s.sex;
    this.idnumber = s.idnumber;
    }public void SetJobtitle(String jobtitle){
    this.jobtitle = jobtitle;}public void setName(String name){
    this.name = name;}     public void setSex(String sex){
    this.sex = sex;}public void setSalary(String salary){
    this.salary = salary;}     public void setAge(Int age){
    this.age = age;} public void setIdnumber(Int idnumber){
    this.idnumber = idnumber;}                       public String getJobtitle(){
    return jobtitle;} public String getName(){
    return name;}public String getSex(){
    return sex;}public String getSalary(){
    return salary;}public int getAge(){
    return age;}public int getIdnumber(){
    return idnumber;}
                                                                                                          
    public String toString(){
    return getJobtitle()+"\n"+getName()+"\n"+getIdnumber()+"\n"+getAge()+"\n"+getSex()+"\n"+getSalary();}public class Director extends Employee
    {private String name;
    private Employee employees[];
    private int size;public Director(String name){
    this.name = name;public String getName(){
    return name;}public Employee[] getEmpolyees(){
    return Employees;}public int getSize(){
    return size;}public void setName(String name){
    this.name = name;}pulic void setSize(int size){
    this.size = size;}public void setEmployees(Employee[] employees){
    for(int i = 0;i<size;i++)
    this.employees[i] = new Employee(employee[i]);
    }public String toString)(){
    String s;
    s = s + "Jobtitle" + "\n"+"Name"+"\n"+"Idnumber"+"\n"+"Age"+"\n"+"Sex"+"\n"+"Salary"; for(int i=0;i<size;i++)
    s = s + employees[i].getJobtitle()+"\n"+employees[i].getName()+"\n"+employees[i].getIdnumber()+"\n"+employees[i].getAge()+"\n"+employees[i].getSex()+"\n"+employees.getSalary();
    return s;
    };
    }
    public boolean add(Employee aEmployee){
    if (find(aEmployee.getIdnumber())>= 0) return false;
    this.Employee[size] = new Employee(new String(aEmployee.getName()),new String (aEmployee.getJobtitle()),aEmployee.getIdnumber(),new String (aEmployee.getSex()),new String(aEmployee.getSalary()),
    aEmployee.getAge());
    return ture;}public boolean del(Employee aEmployee){
    int pos = find(aEmployee.getIdnumber());
    if(pos == -1)return false;
    for(int i = pos + 1;i<Size;i++)
    Employee[i-1] = Employee[i];
    return ture;}
    }public static Employee getAEmployee(int i){
    Employee employeei;
    System.out.println("Enter NO."+i+"STAFF DETAIL.");
    System.out.println("Idnumber");
    int idnumber = keyboard.getInteger();
    System.out.printle("Jobtitle");
    String Jobtitle = keyboard.getString();
    System.out.println("Name");
    String Name = keyboard.getString();
    System.out.println("Sex");
    String Sex = keyboard.getString();
    System.out.println("Salary");
    String Salary = keyboard.getString();
    System.out.println("Age");
    int Age = keyboard.getInterger();
    employeei = new employ(idnumber,name,jobtitle,sex,salary,age);
    return emplyeei;}
    }
    我把CODE改成现在这样了..可是在public string getName(){
    那里提示说ILLEGAL START OF EXPRESSION
      

  9.   

    先用RMB求这个JAVA的完整程序...
    希望大家帮忙....
    详情联系EMAIL:[email protected]
      

  10.   

    我把CODE改成现在这样了..可是在public string getName(){
    那里提示说ILLEGAL START OF EXPRESSION
    ============
    public Director(String name){
    this.name = name;  //少个右大括号!!public String getName(){
    return name;}
      

  11.   

    1)类设计不好,至少还要设计一个公司类,要不你的员工,经理放哪呀(看要求就该用一个类链表/数组的东西存下来的,这总不能放员工类或经理类里边吧)2)楼主对IO很不熟悉
    int idnumber = keyboard.getInteger();
    //keyboard是什么东东呀3)对信息存储的位置没有概念
    在add,del方法里的aEmployee是什么东西呀,放的是什么,在哪定义的,……
      

  12.   

    对了,我从“并且查看所有员工名单,经理名单”推测是有N个经理的(要不就叫经理查看个人信息了哈)
    又,从LZ的设计推测,是只有一个经理的,要不员工的数组就不能放在经理类里了呀:这么一来的话两个类确实可以做出来了~
      

  13.   

    其实,用XML数据库是最合适的,只是用了一个或几个XML文件嘛,不能算是数据库的。而且对增删改查之类的功能相关类已经给的很充分了。
      

  14.   

    编译通过:
    -------------------------------------------------------
    import java.io.*;public class Employee {
    private String jobtitle;
    private String name;
    private String sex;
    private String salary;
    private int idnumber;
    private int age;// consturctor // private int size;
    public Employee(String jobtitle, String name, String sex, String salarey, int idnumber, int age) { this.jobtitle = jobtitle;
    this.name = name;
    // this.salary = salary;
    this.sex = sex;
    this.age = age;
    this.idnumber = idnumber;
    }
    public Employee(Employee s) {
    this.jobtitle = s.jobtitle;
    this.name = new String(s.name);
    this.salary = s.salary;
    this.age = s.age;
    this.sex = s.sex;
    this.idnumber = s.idnumber;
    }
    public void SetJobtitle(String jobtitle) {
    this.jobtitle = jobtitle;
    }
    public void setName(String name) {
    this.name = name;
    }
    public void setSex(String sex) {
    this.sex = sex;
    }
    public void setSalary(String salary) {
    this.salary = salary;
    }
    public void setAge(int age) {
    this.age = age;
    }
    public void setIdnumber(int idnumber) {
    this.idnumber = idnumber;
    }
    public String getJobtitle() {
    return jobtitle;
    }
    public String getName() {
    return name;
    }
    public String getSex() {
    return sex;
    }
    public String getSalary() {
    return salary;
    }
    public int getAge() {
    return age;
    }
    public int getIdnumber() {
    return idnumber;
    }
    public String toString() {
    return getJobtitle() + "\n" + getName() + "\n" + getIdnumber() + "\n" + getAge() + "\n" + getSex() + "\n" + getSalary();
    }
    }class Director extends Employee {
    private String name;
    private Employee[] employees;
    private int size; public Director(Employee s, String name) {
    super(s);
    this.name = name;
    } public String getName() {
    return name;
    } public Employee[] getEmpolyees() {
    return employees;
    } public int getSize() {
    return size;
    } public void setName(String name) {
    this.name = name;
    } public void setSize(int size) {
    this.size = size;
    } public void setEmployees(Employee[] employees) {
    for (int i = 0; i < size; i++)
    this.employees[i] = new Employee(employees[i]);
    } public String toString() {
    String s = "";
    s = s + "Jobtitle" + "\n" + "Name" + "\n" + "Idnumber" + "\n" + "Age" + "\n" + "Sex" + "\n" + "Salary"; for (int i = 0; i < size; i++)
    s = s + employees[i].getJobtitle() + "\n" + employees[i].getName() + "\n" + employees[i].getIdnumber() + "\n" + employees[i].getAge() + "\n" + employees[i].getSex() + "\n" + employees[i].getSalary();
    return s;
    };
    public boolean add(Employee aEmployee) {
    // 不知道find()在哪里定义的?
    // if (find(aEmployee.getIdnumber()) >= 0) return false;
    this.employees[size] = new Employee(aEmployee.getJobtitle(), aEmployee.getName(), aEmployee.getSex(), aEmployee.getSalary(), aEmployee.getIdnumber(), aEmployee.getAge());
    return true;
    } public boolean del(Employee aEmployee) {
    int pos = aEmployee.getIdnumber();
    // 不知道find()在哪里定义的?
    // int pos = find(aEmployee.getIdnumber());
    if (pos == -1) return false;
    for (int i = pos + 1; i < size; i++)
    employees[i - 1] = employees[i];
    return true;
    } public static Employee getAEmployee(int i) {
    String jobtitle = "";
    String name = "";
    String sex = "";
    String salary = "";
    int idnumber = 0;
    int age = 0; Employee employeei = null;
    System.out.println("Enter NO." + i + "STAFF DETAIL.");
    System.out.println("Idnumber"); // 不知道你的KeyBoard类是哪里来的?
    // 接收键盘输入
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("jobtitle");
    try {
    jobtitle = br.readLine();// Keyboard.getString();
    }
    catch (Exception e) {}
    // finally {} System.out.println("name");
    try {
    name = br.readLine();// keyboard.getString();
    }
    catch (Exception e) {}
    // finally {} System.out.println("sex");
    try {
    sex = br.readLine();// keyboard.getString();
    }
    catch (Exception e) {}
    // finally {} System.out.println("salary");
    try {
    salary = br.readLine();// keyboard.getString();
    }
    catch (Exception e) {}
    // finally {} System.out.println("idnumber");
    try {
    idnumber = Integer.parseInt(br.readLine());// keyboard.getInteger();
    }
    catch (Exception e) {}
    // finally {} System.out.println("age");
    try {
    age = Integer.parseInt(br.readLine());// keyboard.getInterger();
    }
    catch (Exception e) {}
    // finally {} employeei = new Employee(jobtitle, name, sex, salary, idnumber, age);
    return employeei;
    }
    }