员工并检查每位员工的主要年龄

时间:2013-10-24 00:24:08

标签: java project

我在使用Employee age的值时遇到问题,而且我有primeagechecker。 员工具有年龄本身的价值。 Primeagechecker只是检查它是否是素数。然后只是打印一些命令“年龄是素数”。如果它是素数。我不是一个java人,我是Java的初学者。对于年龄检查,结果总是假的。 谢谢你的帮助。

这是我的代码。

public class Employee {
    String name;
    boolean check;
    int age;
    Department department;
    public ArrayList<Employee> emplo;

    static Employee emp1 = new Employee(Department.Accounting,"Counting Guru",55);
    static Employee emp2 = new Employee(Department.Accounting,"Counting Pro", 45);
    static Employee emp3 = new Employee(Department.Accounting,"Counting Savvy", 40);
    static Employee emp4 = new Employee(Department.Accounting,"Counting Novice", 25);
    static Employee emp5 = new Employee(Department.Marketing,"Sales Guru", 50);
    static Employee emp6 = new Employee(Department.Marketing,"Sales Pro", 48);
    static Employee emp7 = new Employee(Department.Marketing,"Sales Savvy", 38);
    static Employee emp8 = new Employee(Department.Human_Resources,"Hiring Guru", 58);
    static Employee emp9 = new Employee(Department.Human_Resources,"Hiring Pro", 47);
    static Employee emp10 = new Employee(Department.Information_Systems,"Hacking Pro", 46);
    static Employee emp11 = new Employee(Department.Information_Systems,"Hacking Guru", 51);
    static Employee emp12 = new Employee(Department.Information_Systems,"Hacking Savvy", 38);
    static Employee emp13 = new Employee(Department.Information_Systems,"Hacking Novice", 23);

    Employee(Department department,String name, int age)
    {
        this.department = department;
        this.name = name;
        this.age = age;
    }

    public int getAge()
    {
        return age;
    }

    public String getName()
    {
        return name;
    }

    public boolean GetChecker()
    {
        return check;

    }

    public void addEmplo(Employee x){
        if (emplo.isEmpty())
        {
            emplo.add(x);
        }
        else
        {
            int i;
            for ( i = 0;i <emplo.size(); ++i){
                if(emplo.get(i).getAge() > x.getAge()){
                    emplo.add(i,x);
                    break;
                }
            }

            if ( i == emplo.size()){
                emplo.add(x);
            }
        }
        }

    public ArrayList<Employee> getEmplo(){
        return emplo;
    }

    public String toString(){
        StringBuffer sb = new StringBuffer();
        sb.append(getDept(department));
        sb.append("\t");
        sb.append(getName());
        sb.append("\t");
        sb.append(getAge());
        sb.append("\t");
        sb.append(GetChecker());

        return sb.toString();
    }

    private Department getDept(Department department){
        return department;
    }

}





public class PrimeAgeChecker{

    Employee age;

    PrimeAgeChecker(Employee age)
    {
        this.age = age;
    }

    public boolean check(){

        boolean status = false;

        for (int a = 2; a < age; ++a){
            if (age % a == 0)
            {
                status = true;
            }
        }

        return status;

    }
}

2 个答案:

答案 0 :(得分:0)

在您的黄金年龄检查员中,您的年龄属于员工类型,这不是某种类型的数字。我甚至不确定a < age是否应该编译。

无论发生什么,你都在试图看看一个员工是否可以被int整除,这是不会发生的。 PrimeAgeChecker中的年龄应定义为int,并使用employee.getAge()

进行设置

答案 1 :(得分:0)

假设您没有遗漏任何内容,则永远不会唤起方法check()checkcheck()不同。实际上,您没有PrimeAgeChecker的实例。

static添加PrimeAgeChecker修饰符并调用PrimeAgeChecker.check(), 或做一些像PrimeAgeChecker pac=new PrimeAgeChecker();pac.check();

这样的事情