我用java输入了一个字母

我用java输入了一个字母,java,Java,如何知道字符串字母是否等于字符数组 String[] choose = {"a","d","t","b","s","f","x"}; String check; boolean error = false; System.out.print("Enter"); Scanner sn = new Scanner(System.in); check = sn.nextLine(); for (int i =

如何知道字符串字母是否等于字符数组

String[] choose = {"a","d","t","b","s","f","x"};
    String check;
    boolean error = false;

        System.out.print("Enter");

        Scanner sn = new Scanner(System.in);    
         check = sn.nextLine();
        for (int i = 0 ; i < choose.length;i++){

            if(choose[i] == check){
                System.out.print("you entered" + choose[i]);
                break;
            }
        }
String[]choose={“a”、“d”、“t”、“b”、“s”、“f”、“x”};
字符串检查;
布尔错误=假;
系统输出打印(“输入”);
扫描仪序列号=新扫描仪(System.in);
check=sn.nextLine();
for(int i=0;i

我所做的是,它没有确认我输入了字母a,但“you entered”没有显示。

您无法使用
==
测试字符串是否相等。仅比较引用(内存地址)的。你需要使用。一般来说,
=
是您在测试是否相等时最不想要的,除非您正在检查两个变量是否指向同一实例。这种情况很少发生,因为您通常对测试值是否相等感兴趣

因此,您需要做的是:

if(choose[i].equals(check)) {
   ...
}

您试图将字符串与==进行比较,它只比较引用,而不比较值。你想用的是

if(check.equals(choose[i]))