在数组中搜索用户输入

问题描述 投票:0回答:1

这是一个员工管理系统。它具有一些很酷的功能(方法),例如按索引位置搜索员工,按索引位置注册用户等。现在,在其最后一个功能上,我遇到了一个大问题,不知道问题可能在哪里。

将共享方法和错误消息,但是如果有人感兴趣的话,也可以共享整个代码,但是请记住,我确定它位于方法中隐藏的某个位置:

public static void sucheL(String[] nN) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Geben Sie den Text ein: ");
        String nn = sc.nextLine();
        boolean gefunden = false;
        // check for all the entries in nN
        // if the entry starts with the entered String or
        for (int i = 0; i < nN.length; i++)
            if (nN[i].startsWith(nn)) {
                System.out.println("Der Name " + nN[i] + " beginnt mit " + nn);
                gefunden = true;
                // break;
                // if it contains the entered String
            } else if (nN[i].contains(nn)) {
                System.out.println("Der Name " + nN[i] + " enthält " + nn);
                gefunden = true;
                // break;
            }
        if (!gefunden) {
            System.err.println("Es wurde kein Name gefunden, der mit dem eingegebenen Text beginnt oder ihn beinhaltet");
        } else {
            System.out.println("Es wurde mindestens ein Name gefunden, der mit dem eingegebenen Text beginnt oder ihn beinhaltet");
        }
    }

错误消息:

Exception in thread "main" java.lang.NullPointerException
    at PersonalVerwaltung.sucheL(PersonalVerwaltung.java:148)
    at PersonalVerwaltung.main(PersonalVerwaltung.java:54)
java variables search methods
1个回答
-1
投票

我试图运行并测试您的代码,但是看起来没问题,所以我认为问题不在于方法,而在于[[calling method,尤其是您要传递的参数。显然(被抛出NullpointerException的异常)您试图将null字符串传递给该函数。

仔细检查您传递的参数。尝试先打印它,然后查看它的值。
© www.soinside.com 2019 - 2024. All rights reserved.