何度も投稿してすみません。なぜ結果がNULLなのか行き詰まりました。それは真か偽であるはずです。従業員クラスでチェック値が連動していないと思います。何が問題なのか教えてください。
public class Employee {
String name;
PrimeAgeChecker checks;
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 PrimeAgeChecker GetChecker(PrimeAgeChecker checks)
{
return checks;
}
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(checks));
return sb.toString();
}
private Department getDept(Department department){
return department;
}
}
public class PrimeAgeChecker{
public boolean status = false;
int ages;
PrimeAgeChecker(Employee age)
{
ages = age.getAge();
}
public boolean check(){
if ((ages % 2 == 0) || (ages == 2))
{
status = true;
}
return status;
}
}
結果:
Department Name Age Prime
__________________________________________________
Accounting Counting Guru 55 null
Accounting Counting Pro 45 null
Accounting Counting Savvy 40 null
Accounting Counting Novice 25 null
Marketing Sales Guru 50 null
Marketing Sales Pro 48 null
Marketing Sales Savvy 38 null
Human_Resources Hiring Guru 58 null
Human_Resources Hiring Pro 47 null
Information_Systems Hacking Pro 46 null
Information_Systems Hacking Guru 51 null
Information_Systems Hacking Savvy 38 null
Information_Systems Hacking Novice 23 null