Меню с программой для добавления и отображения информации о сотруднике.Принимая входные данные от пользователя для сведения о сотруднике.Сохраните его в списке массивов и отобразите его.
Я добавил записи в список, но всегда последние введенные данные заменяют все элементы в списке.Взяв ввод в случае переключателя 1 и добавив его в массив списков, и отобразив его в другом случае:
class Employee
{
Scanner sc = new Scanner(System.in);
int empid,n;
String empname, empdesignation, empdept, empproject;
public Employee() { }
public Employee(int id,String name,String desig,String dept,String proj)
{
this.empid=id;
this.empname=name;
this.empdesignation=desig;
this.empdept=dept;
this.empproject=proj;
}
public void setEmpNo() {
System.out.print("Enter the number of employees: ");
n = sc.nextInt();
}
public int getEmpNo() {
return n;
}
public int getID() {
return empid;
}
public void setID(int id) {
this.empid = id;
}
public String getName() {
return empname;
}
public void setName(String name) {
this.empname = name;
}
public String getDept() {
return empdept;
}
public void setDept(String dept) {
this.empdept = dept;
}
public String getDesig() {
return empdesignation;
}
public void setDesig(String desig) {
this.empdesignation = desig;
}
public String getProject() {
return empproject;
}
public void setProject(String proj) {
this.empproject = proj;
}
public void displayemp(int id, String name,
String dept, String designation, String project)
{
System.out.print("\n============================================================\n");
System.out.println("ID: " + id);
System.out.println("Name: " + name);
System.out.println("Department: " + dept);
System.out.println("Designation: " + designation);
System.out.println("Project: " + project);
System.out.print("\n============================================================\n");
}
}
public class trying
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int ch = 0, id, n, abc, count = 0, pcount = 0;
final int maxEmp=1000;
String name, designation, dept, pname, mgrname, project;
Employee emp5 = new Employee();
Project proj5 = new Project();
List<Employee> list = new ArrayList<Employee>();
List<Project> list1 = new ArrayList<Project>();
switch (ch) {
case 1:
emp5.setEmpNo();
int a = emp5.getEmpNo();
for (int i = 1; i < a+1; i++)
{
System.out.print("Enter ID: ");
id = sc.nextInt();
emp5.setID(id);
sc.nextLine();
System.out.print("Enter Name: ");
name = sc.nextLine();
emp5.setName(name);
System.out.print("Enter Department: ");
dept = sc.nextLine();
emp5.setDept(dept);
System.out.print("Enter Designation: ");
designation = sc.nextLine();
emp5.setDesig(designation);
System.out.print("Enter Project: ");
project = sc.nextLine();
emp5.setProject(project);
list.add(emp5);
}
break;
case 5:
System.out.println("Showing Employee Details:");
for(Employee e:list)
{
System.out.println(e.empid+" "+e.empname+" "+e.empdept+" "
+e.empdesignation+" "+e.empproject);
}
break;
}
} while (!(ch <= 0 || ch > 7));
}
Мне нужно отобразить все записи списка массивов, но последний введенныйданные отображаются повторно.