Java 无法显示arraylist的所有元素

Java 无法显示arraylist的所有元素,java,arraylist,collections,Java,Arraylist,Collections,用于添加和显示员工详细信息的菜单驱动程序。 从用户处获取员工详细信息的输入。 将其存储到数组列表中并显示它 我已将条目添加到列表中,但最后输入的数据始终会替换列表中的所有元素。 在开关案例1中获取输入并将其添加到arraylist,然后在另一个案例中显示: class Employee { Scanner sc = new Scanner(System.in); int empid,n; String empname, empde

用于添加和显示员工详细信息的菜单驱动程序。 从用户处获取员工详细信息的输入。 将其存储到数组列表中并显示它

我已将条目添加到列表中,但最后输入的数据始终会替换列表中的所有元素。 在开关案例1中获取输入并将其添加到arraylist,然后在另一个案例中显示:

    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");
    }
}

公共类正在尝试
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
int ch=0,id,n,abc,count=0,pcount=0;
最终整数最大值=1000;
字符串名称、名称、部门、pname、经理名称、项目;
员工emp5=新员工();
Project proj5=新项目();
列表=新的ArrayList();
List list1=新的ArrayList();
开关(ch){
案例1:
emp5.setEmpNo();
int a=emp5.getEmpNo();
对于(int i=1;i
我需要显示数组列表的所有条目,但最后输入的数据会重复显示

Employee emp5 = new Employee();
这将在以下时间后在for循环内执行:

for (int i = 1; i < a+1; i++) {
    Employee emp5 = new Employee();

    ....
}

因此,输入数据或显示数据都有问题。您正在谈论的确切方法是什么?sencond类和处的while循环是什么用例?如果Employee emp5=new Employee();进入for循环之后,我将无法在另一个交换机中访问emp5,因为它成为该交换机的本地case@VedanthVinay如果它解决了问题,请将其标记为答案。不客气。请将我的回答标记为“已接受”
for (int i = 1; i < a+1; i++) {
    Employee emp5 = new Employee();

    ....
}
list.add(emp5);
emp5 = new Employee();