找不到方法的符号错误

时间:2012-07-25 16:56:51

标签: java file passwords username

我遇到了代码问题。我需要从txtfile中读取数据。用户将输入他的用户名和密码,系统将检查存储在文本文件中的信息以进行验证,一旦成功,他将登录。但我有一个错误,我不知道如何继续。

public class existingCustomers {

    String username, password;

    public existingCustomers() {
        Scanner input = new Scanner(System.in);

        System.out.println("Welcome to Kreg Hotel booking System");
        System.out.println("Please login.");
        System.out.println("==============================================");
        System.out.println("Username: ");
        username = input.nextLine();
        System.out.println("Password: ");
        password = input.nextLine();
        new userPassOk(username, password);
    }

    private boolean userPassOk(String user, String pass) throws FileNotFoundException {
        Scanner s = new Scanner(new File("customerinfo.txt"));
        username = user;
        password = pass;
        while (s.hasNextLine()) {
            String[] userPass = s.nextLine().split(":");
            if (userPass[0].equals(user) && userPass[1].equals(pass))
                return true;
        }
        return false;
    }
}

我的错误是

C:\Users\MegaStore\Desktop\java testing\existingCustomers.java:18: error: cannot find symbol
        new userPassOk(username,password);
            ^
  symbol:   class userPassOk
  location: class existingCustomers
1 error

2 个答案:

答案 0 :(得分:3)

userPassOk不是class,而是method;所以你不应该使用new来调用它。

由于它返回boolean,您需要在条件中使用它,如下所示:

if(userPassOk(username, password))
{
  // My logic here!
} else {
  // No entry for you!
}

答案 1 :(得分:0)

编译错误告诉你问题的确切位置,就在第18行。

你有new userPassOk

userPassOk不是一个类,它是一种方法。删除new,它将编译。

它不会工作但它会编译......