Java,如何将字符串与字符串数组进行比较

2022-09-02 22:55:44

我已经在这里搜索了一段时间,但一直无法找到答案。

我基本上需要从大学开始使用数组来完成这个作业。然后我应该检查输入(也是一个字符串)是否与String数组中存储的任何内容匹配。

我知道人们可以通过使用.equals()方法轻松比较字符串。但是,相同的方法不适用于 String 数组。

我为StackOverflow的目的创建了以下代码示例,因此如果您愿意,您可以使用它向我解释它。

我做错了什么?

import java.util.Scanner;

class IdiocyCentral {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        /*Prints out the welcome message at the top of the screen*/
        System.out.printf("%55s", "**WELCOME TO IDIOCY CENTRAL**\n");
        System.out.printf("%55s", "=================================\n");

        String [] codes = {"G22", "K13", "I30", "S20"};

        System.out.printf("%5s%5s%5s%5s\n", codes[0], codes[1], codes[2], codes[3]);
        System.out.printf("Enter one of the above!\n");

        String usercode = in.nextLine();

        if (codes.equals(usercode)) {
            System.out.printf("What's the matter with you?\n");
        }
        else {
            System.out.printf("Youda man!");
        }

    }
}

我很抱歉,如果以前有人问过这个问题,而我只是错过了它,如果这是一个双重问题,我会删除它。


答案 1

我假设您想检查数组是否包含某个值,是吗?如果是这样,请使用该方法。contains

if(Arrays.asList(codes).contains(userCode))

答案 2

现在你似乎在说“这个字符串数组是否等于这个字符串”,当然它永远不会。

也许你应该考虑用一个循环遍历你的字符串数组,并检查每个字符串,看看它们是否与输入的字符串相等()?

...还是我误解了你的问题?