我目前正在学习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.对不起我的冗长问题,代码块和缺乏/缺乏术语.我是新手.
当你需要动态调整它们时,不要费心使用数组,除非它是绝对必要的(即使在那种情况下你可以直接转换ArrayList.toArray(..)).
用一个ArrayList<Employee>而不是一个Employee[].您不必担心容量,您不必担心删除和移动元素.它还支持通用容器.
作为旁注:Java的命名约定建议使用Capitalized类的名称.