Java,如何将字符串与String Arrays进行比较

nic*_*o_c 16 java arrays string equals

我一直在这里搜索一段时间,但一直未能找到答案.

我基本上需要使用数组来完成大学的这项任务.然后我应该检查输入(也是一个String)匹配String数组中存储的内容.

我知道可以通过使用.equals()方法轻松比较Strings.但是,相同的方法不适用于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!");
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

如果以前曾经问过这个问题,我很抱歉,如果它是一个双重问题,我会将其删除.

Pet*_*son 48

我认为你想要检查数组是否包含某个值,是吗?如果是这样,请使用该contains方法.

if(Arrays.asList(codes).contains(userCode))
Run Code Online (Sandbox Code Playgroud)

  • @PeterOlsen - 这可能是最干净的解决方案,但我希望OP的讲师*期待*他/她使用循环来编码...并在此过程中,练习使用数组和循环. (3认同)