将用户输入与数组中的值进行比较

Comparing user input to values from an array

我找不到这个问题的答案。这是概念银行登录页面的证明。

目的是如果输入与数组中的条目匹配,则允许您进入。 我试过 object.equals 之类的但是我无法正确编译。

这是我的代码:

import java.util.Scanner;

public class JBLogin {

    public static void main(String[] args);
    {
         String username
         Scanner login = new Scanner(System.in);
         String [] database;
         database = new String[2];
         database[0] = "placeholderone";
         database[1] = "placeholdertwo";
         System.out.println(" Welcome To JavaBank!");
         System.out.println("Please Enter Your Username:");
         username = login.next();
         System.out.println("Welcome Back,  " + username);
         if (username.object.equals(database))
         {
             System.out.println("_____________");
         }
         else
         {
           System.out.println("Username Not Found.");
         }
    }
}

您需要将数组 database 中的每个元素与 username 进行比较。您可以使用循环来做到这一点。

此外,要在 username 上调用 Object.equals 方法,您只需说:username.equals(...)。你不应该把 .object 放在中间。

boolean found = false;
for (int d = 0; d < database.length; d++) {
    if (database[d].equals(username)) {
        found = true;
    }
}

if (found) {
    System.out.println("_____________");
} else {
    System.out.println("Username Not Found.");
}

正如其他人提到的,您还应该删除方法声明行末尾的分号:

public static void main(String [] args);

你应该在声明字符串的行后面放一个分号 username:

String username;