关于acanner和数组的问题

有两组数组

String[] pizza1=new String[10];

String[] pizza2=new String{"2","3","3","4","5"};

…………
//这里省略几个无关方法
Scanner sc=new Scanner(Systen.in);
for(int a=0;a<10;a++){
    pizza1[a]=sc.next();
……
//就在此处,本人想利用equals 判断pizza1输入的和pizza2数组里面所有的元素某一个相同。
但是试了很多方法,都行不通,而且本人还创建了一个寄存数组,最后打印寄存数组却为所有元素为null。

用for遍例也做不到。本人要的效果是,当输入一组汉字或者字符,它就会在if里用equals 判断输入的和判断数组里面的某值一样

,是否有输入的那个值,意思就是不按顺序地查询指定数组里的元素是否有scanner输入的,如果有就赋值给寄存器。


各位师傅,这个问题困扰小弟很久了,小弟还没有学习集合和异常,最好用循环和多太的知识来指导小弟。谢谢

}

示例代码如下:

public class Test {

    public static void main(String[] args) {
        String[] pizza = new String[]{"2", "3", "3", "4", "5"};

        String resultStr = null;

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        for (int i = 0; i < 10; i++) {
            String input = sc.next();
            if (contains(pizza, input)) {
                if (resultStr == null) {
                    resultStr = input;
                } else {
                    resultStr = resultStr + "," + input;
                }
            }
        }
        String[] result = resultStr.split(",");
        System.out.println("输入的相同数组元素为:" + Arrays.toString(result));
    }

    /**
     * 数组中是否包含给定的元素
     *
     * @param arr
     * @param item
     * @return
     */
    private static boolean contains(String[] arr, String item) {
        for (String str : arr) {
            if (str.equals(item)) {
                return true;
            }
        }
        return false;
    }
}

执行结果如下:

img

如有帮助,请采纳。

你是怎么equals的?不方便贴完整代码吗