填充对象数组

2 java arrays object populate

我目前正在学习Java,不太清楚如何做到这一点.

目前我有一个员工班

public class employee {

private int empID;
private String empName;
private String job;

//constructors;

public employee(){
    this.empID = 0;
    this.empName = "";
    this.job = "";
}
public employee(int empID, String empName, String job){
    this.empID = empID;
    this.empName = empName;
    this. job = job;
}

//gets;

public int getEmpID(){
    return this.empID;
}
public String getEmpName(){
    return this.empName;
}
public String getJob(){
    return this.job;
}

//sets;

public void setEmpID(int empID){
    this.empID = empID;
}
public void setEmpName(String empName){
    this.empName = empName;
}
public void setJob(String job){
    this.job = job;
}
Run Code Online (Sandbox Code Playgroud)

}

在我的主要内容中,我创建了一个类型为employee的对象数组,其大小为2,然后只需增加数组计数,同时让用户输入一些基本信息,然后再使用另一个循环来打印输入的所有信息.

import java.util.Scanner;
public class employeeArray {

public static void p(String s) {System.out.println(s);}

public static void main(String args[]){
    Scanner k = new Scanner(System.in);
    int empID, size=0, x=0;
    String empName;
    String job;
    employee [] employees = new employee[2];

    for(size = 0; size < 2; size++)
    {
        p("Employee "+(size+1));
        p("Please enter employee ID number: ");
        empID = k.nextInt(); k.nextLine();
        p("Please enter your name: ");
        empName = k.nextLine();
        p("Please enter your job role: ");
        job = k.nextLine();

        employees[size] = new employee();

        employees[size].setEmpID(empID);
        employees[size].setEmpName(empName);
        employees[size].setJob(job);


    }

    for(x=0; x<2;x++){
        p("Hello employee: "+employees[x].getEmpName()+" your job role is "+employees[x].getJob()+ 
                " your log in ID is 0800"+employees[x].getEmpID());
    }
}
Run Code Online (Sandbox Code Playgroud)

}

我理解如何通过输入填充对象的每个实例,但是我想要将大小从2增加到20但已经预先输入了10',那么我可以显示当前有的10个但仍允许输入还有10个.

PS.对不起我的冗长问题,代码块和缺乏/缺乏术语.我是新手.

Jac*_*ack 7

当你需要动态调整它们时,不要费心使用数组,除非它是绝对必要的(即使在那种情况下你可以直接转换ArrayList.toArray(..)).

用一个ArrayList<Employee>而不是一个Employee[].您不必担心容量,您不必担心删除和移动元素.它还支持通用容器.

作为旁注:Java的命名约定建议使用Capitalized类的名称.