Java 如何检查来自用户的输入是否与数组中的项匹配。(如登录)

Java 如何检查来自用户的输入是否与数组中的项匹配。(如登录),java,arrays,Java,Arrays,我正在尝试进行登录类型验证,从长远来看,我需要标记.txt文件中的项目,但现在,我只在数组中包含这些项目 我试图验证该项是否包含在数组中(该项的索引是什么) 包pkgMTA; 导入java.io.*; 导入java.util.Scanner; 导入java.util.*; 公共类pkgMTA{ 公共静态void main(字符串[]Args)引发IOException{ 扫描仪扫描=新扫描仪(System.in); 布尔验证=假; 字符串[]gArray=新字符串[5]; gArray[0]=“

我正在尝试进行登录类型验证,从长远来看,我需要标记.txt文件中的项目,但现在,我只在数组中包含这些项目

我试图验证该项是否包含在数组中(该项的索引是什么)

包pkgMTA;
导入java.io.*;
导入java.util.Scanner;
导入java.util.*;
公共类pkgMTA{
公共静态void main(字符串[]Args)引发IOException{
扫描仪扫描=新扫描仪(System.in);
布尔验证=假;
字符串[]gArray=新字符串[5];
gArray[0]=“AAA”;
加里[1]=“BBB”;
gArray[2]=“CCC”;
gArray[3]=“DDD”;
gArray[4]=“EEE”;
字符串输入;
输入=scan.nextLine();
for(int i=0;i
卸下

else {
    validations = false:
}
部分。因为如果输入与列表中的某个元素不匹配,您不希望将validations变量设置为false。但是,如果至少有一个匹配项,您希望它是真实的

我还强烈建议使用适当的缩进

更正的代码(格式正确):

包pkgMTA;
导入java.io.*;
导入java.util.Scanner;
导入java.util.*;
公共类pkgMTA{
公共静态void main(字符串[]Args)引发IOException{
扫描仪扫描=新扫描仪(System.in);
布尔验证=假;
字符串[]gArray=新字符串[5];
gArray[0]=“AAA”;
加里[1]=“BBB”;
gArray[2]=“CCC”;
gArray[3]=“DDD”;
gArray[4]=“EEE”;
字符串输入;
输入=scan.nextLine();
for(int i=0;i
或在找到循环后中断循环:

if( gArray[i].equals(input)){
validations = true;
break;
}

学习如何正确地实现此算法很重要,但供将来参考:Java具有用于此目的的内置功能:

  • 对于简单的一次性使用,您可以只编写
    boolean validation=java.utils.Arrays.asList(gArray.contains)(输入)

  • 对于大量项目的重复检查,可以使用a,它的填充有点复杂,但是它的
    包含(输入)
    调用更快

  • 可能重复的
    package pkgMTA;
    import java.io.*;
    import java.util.Scanner;
    import java.util.*;
    public class pkgMTA {
        public static void main(String[] Args) throws IOException {
            Scanner scan = new Scanner(System.in);   
            boolean validations = false;
            String[] gArray = new String[5];
            gArray[0] = "AAA";
            gArray[1] = "BBB";
            gArray[2] = "CCC";
            gArray[3] = "DDD";
            gArray[4] = "EEE";
    
            String input;
            input = scan.nextLine();
            for( int i = 0; i < gArray.length; i++) {
                if( gArray[i].equals(input)) {
                    validations = true;
                }
            }
            if (validations) {
                System.out.println("nice");
            }
            else {
                System.out.println("error");
            }
        } 
    }
    
    if( gArray[i].equals(input)){
    validations = true;
    break;
    }