繁体   English   中英

ArrayList打印

[英]ArrayList Printing

我分配了一个创建员工ArrayList的任务,以提供一个添加,查找和删除员工记录的菜单。 我成功地自行实现了所有功能,但是有一个小问题。 当我使用find或delete选项时,可以正确找到或删除正确的记录,但是代码会遍历元素的数组列表,并打印出直到找到正确的记录才找到的雇员,这是不必要的,因为它只应打印找到的记录记录。 我在编码方面的经验有限,我正在从头开始编写自己的代码,请为此提供帮助。 在此处输入图片说明

我已经附加了我的代码和输出!

 else if (choice.equals("4")) { System.out.println("Enter Name: "); String fName = myScanner.nextLine(); System.out.println("Enter Job Name: "); String fJob = myScanner.nextLine(); for (int i = 0; i < myEList.size(); i++) { if (myEList.get(i).getName().equals(fName) && myEList.get(i).getJob().equals(fJob)) { System.out.println("Employee found!"); System.out.println(myEList.get(i).toString()); } else { System.out.print("Employee not found!"); } } } else if (choice.equals("5")) { System.out.println("Enter Name: "); String dName = myScanner.nextLine(); System.out.println("Enter Job Name: "); String dJob = myScanner.nextLine(); for (int i = 0; i < myEList.size(); i++) { if (myEList.get(i).getName().equals(dName) && myEList.get(i).getJob().equals(dJob)) { System.out.println("Employee record removed succesfully!"); myEList.remove(i); } else { System.out.print("Employee not found!"); } } } 

这是Output输入选项:4输入名称:arjun输入作业名称:tester搜索中...找不到员工! 找不到员工! 员工找到了! 姓名:arjun职位名称:测试员每周工资:1200.0

else 
                    {
                        System.out.print("Employee not found!");
                    }

for循环结束后必须这样做。 您需要一个找到的标志。 如果循环后为假,则打印消息

  1. 创建一个变量来跟踪是否在循环之前找不到员工

  2. 如果找到,则在if语句中将其发送为false。

  3. 在循环结束时检查是否为真。 然后打印消息“找不到员工”

请参阅下面的示例

boolean notFound = true;
for(int i=0;i<myEList.size();i++)
{
     if(myEList.get(i).getName().equals(fName)&&myEList.get(i).getJob().equals(fJob))
     {
        System.out.println("Employee found!");
        System.out.println(myEList.get(i).toString());
        notFound = false;
        break;
     }
}
if(notFound)
    System.out.print("Employee not found!");

删除此代码块

else 
                {
                    System.out.print("Employee not found!");
                }

之后应该可以正常工作。


编辑

这不是主题,但是下次您提问题时,请记住张贴输出图像,而不要键入输出或张贴链接。

并且避免写关于您的编码经验的文章。 直截了当。 它只是不必要地增加了问题的大小。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM