java - 在两个数组中查找值

标签 java arrays variables search methods

这应该是一个针对 n 名员工的个人管理程序。有些方法提供特定的功能。我正在研究的方法对我来说非常复杂,因为它在方法创建之初起作用,但现在不起作用。

问题:该方法无法达到目的并无法提供搜索的姓名。即使这个名字存在,它也说不存在。

方法:

public static void search(String[] n, String[] lN, String[] addres) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Please give the name: ");
        String n = sc.nextLine();
        System.out.println("Please give the last name: ");
        String ln = sc.nextLine();
        for (int i = 0; i < lN.length; i++) {
            for (int j = 0; j < n.length; j++); {
                if (ln.equals(nN[i]) && n.equals(vN[i])) {
                    System.out.println("The employee " + nn + " " + vn + " is existing");
                } else {
                    System.out.println("We couldn't find this employee in our system");
                    break;
                }
            }
        }

如果您有疑问,请随时提问。不知道吗?投票也许其他人有答案。 谢谢

最佳答案

程序当前正在查找第一个员工,如果第一个员工没有匹配的名字和姓氏,则程序打印出“未找到”并放弃搜索(使用 break).

您可以做的是保留一个变量来告诉您是否找到了匹配的员工。如果循环后未找到匹配项,则打印出警告消息。

当您只需要一个 for 循环时,您还可以使用双 for 循环。

    boolean found = false;
    for (int i = 0; i < nN.length; i++) {
        if (nn.equals(nN[i]) && vn.equals(vN[i])) {
            System.out.println("Der/die Mitarbeier/Mitarbeiterin " + nn + " " + vn + " ist vorhanden");
            found = true;
            break;
        }
    }
    if (!found) {
        System.out.println("Dieser Name existiert im System nicht");
    }

关于java - 在两个数组中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61374315/

相关文章:

python - NumPy Fancy Indexing - 从不同 channel 裁剪不同的 ROI

php - 如何使用 PHP 以自然顺序对数组进行排序

bash - 如何将重定向符号分配给变量以组装命令行

javascript - 在javascript中添加变量

java - drawOval 的意外行为

java - Javafx 的新阶段即将到来

PHP按两个字段值排序数组

php - 将数组或单独的变量传递给函数 - PHP?

java - 如何获取特定 eclipse.core.command 的处理程序

java - 想要找到给定字符串中 'space' 的所有索引