我正在使用java中的ATM系统。 当我执行这段代码时,我不断收到NullPointerException错误:
为什么我会这样? 如果我使用admin用户创建新用户,则该功能的唯一工作方式是。但是当我在没有创建新用户的情况下登录(两个用户在程序开始时初始化)并尝试删除用户时,控制台会抛出NullPointerException错误。
public void showDeleteUser() {
System.out.println("-----------------------------");
System.out.println("Username of user to delete");
input.nextLine();
String userToDelete = input.nextLine();
User _userToDelete = null;
for (User user : users) {
if (userToDelete.equals(user.getName())) {
_userToDelete = user;
}
}
if (_userToDelete != null) {
users.remove(_userToDelete);
System.out.println("Following user is deleted: " + userToDelete);
} else {
System.out.println("User: " + userToDelete
+ "User could not be found would you like to try again?");
}
}
答案 0 :(得分:0)
可能是因为input.nextLine();
从未分配给变量,因此返回NullPointer。
如果你确实需要,你可以尝试:String delete = nextLine();
。因为下一行是完全相同的String userToDelete = nextLine();
如果是这样,那么只需删除上面提到的行。