2013-10-24 75 views
-1

我在使用僱員年齡的值時遇到問題,並且我擁有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; 

    } 
} 

回答

0

在您的黃金年齡檢查器中,您的年齡是Employee類型,這不是某種類型的數字。我甚至不確定a < age應該編譯。

無論發生什麼事情,您正試圖查看員工是否可以被整數整除,這是不會發生的。您在PrimeAgeChecker年齡應定義爲int和使用employee.getAge()設置

+0

喬莫嗨, 你能告訴我怎麼去在PrimeAgeCheck年齡的員工? 謝謝 –

+0

employee.getAge()其中employee是Employee類型的對象。 – JoMo

0

假設你沒有任何省略,你從來沒有喚起方法check()check是不一樣的check()。實際上,您沒有PrimeAgeChecker的實例。

無論是static修改添加到PrimeAgeChecker,並呼籲PrimeAgeChecker.check(), 或做類似PrimeAgeChecker pac=new PrimeAgeChecker();pac.check();

相關問題