Java 面向物件習題:員工資訊錄入提取
阿新 • • 發佈:2019-02-09
package com.neusoft.employee; /** * Java Bean----實體類 * @author zhuzidexter * */ public class Employee { private String eid; private String ename; private int age; private double salary; public String getEid() { return eid; } public void setEid(String eid) { this.eid = eid; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } }
package com.neusoft.employee; import java.util.Scanner; import javax.naming.ldap.ManageReferralControl; /** * 測試類 * * @author zhuzidexter * */ public class TestEmployee { public static void main(String[] args) { //要求從控制檯輸入5條員工的資訊,每錄入一條員工資訊,我們就將這條資訊儲存到陣列容器中 //呼叫新增的方法,這某一條陣列儲存到陣列容器中 Scanner input = new Scanner(System.in); //定義一個數組容器,作用是用來儲存員工資訊 // Employee[] employees = new Employee[5];定義在管理裡 EmployeeManager manager = new EmployeeManager(); for (int i = 0; i<5; i++) { Employee employee = new Employee(); //將物件的屬性寫入 System.out.println("please input No."+(i+1)+" eid"); String eid = input.next(); employee.setEid(eid); System.out.println("pleas input No."+(i+1)+" ename"); String ename = input.next(); employee.setEname(ename); System.out.println("please input No."+(i+1)+" age"); int age = input.nextInt(); employee.setAge(age); System.out.println("please input No."+(i+1)+" salary"); double salary = input.nextDouble(); employee.setSalary(salary); // employees[i] = employee; 在管理裡將每次輸入的emp資訊存入陣列 //呼叫此方法完成新增的操作 manager.addEmployee(employee); } // for(int i = 0; i<employees.length;i++) { // Employee employee = employees[i]; // System.out.println(employee.getEid()+"\t"+employee.getEname()+"\t"+ employee.getAge()+"\t"+employee.getSalary()); // } //查詢某一名員工的資訊; Employee employee = manager.getById("200"); System.out.println(employee.getEid()+"\t"+employee.getEname()+"\t"+ employee.getAge()+"\t"+employee.getSalary()); //查詢所有員工資訊; Employee[] employees = manager.getQueryAll(); for(int i = 0; i<employees.length; i++) { Employee employee1 = employees[i]; System.out.println(employee1.getEid()+"\t"+employee1.getEname()+"\t"+ employee1.getAge()+"\t"+employee1.getSalary()); } } }
package com.neusoft.employee; /** * 員工管理類 * @author zhuzidexter * */ public class EmployeeManager { //1.宣告一個數組容器 private Employee[] employees; int count = 0 ; //2.通過構造器初始化陣列 public EmployeeManager(){ employees = new Employee[5]; } //3.定義一個新增員工資訊的方法:每輸入一次employee資訊,儲存一次 public void addEmployee(Employee employee) { if(count<5) { employees[count] = employee; count++; System.out.println("add success ... "); }else { System.out.println("add error ... "); } } // 4.要從當前的陣列容器employees中根據員工的編號查詢某一個員工的資訊 // 分析這個方法如何定義:是否有返回值:Employee 是否有引數:ID // 如何實現這個方法? // 1.遍歷employees陣列 // 2.每遍歷一次就會從employees陣列獲取一個物件,判斷引數中的ID是否與獲取到物件的ID相等, // 如果相等就找到的這個物件賦值給一個新的變數,跳出迴圈 public Employee getById(String eid) { Employee employee = null; for(int i = 0; i<count; i++) { if(employees[i] != null) { if(eid.equals(employees[i].getEid())){ employee = employees[i]; break; } } } return employee; } //查詢所有員工資訊:重新定義一個數組儲存所有員工資訊,輸出 public Employee[] getQueryAll() { Employee[] employees1 = new Employee[5]; for(int i = 0; i<employees.length; i++) { employees1[i] = employees[i]; } return employees1; } }