首页 > 解决方案 > 将数组传递给方法并搜索键仅返回 else 条件

问题描述

我将一个整数数组传递给一个方法并搜索 KEY 但即使密钥存在它也会返回 noo

class ArraySearch
{

    public static void main(String[] args) 
    {
        int[] arr={1,2,4,4,5};

        int k=5;

        System.out.println(findArray(arr,k));


    }

    public static String findArray( int arr[],int key)
    {
        for(int i=0;i<arr.length;i++)
        {
            //System.out.println(arr[i]);
            if(arr[i]==key)
            return "YESS";

            else
            return "NOOO";//only this part is returned even if key id found
        }
        return "hoohah";
    }




}

标签: javaarraysreturn

解决方案


仔细阅读您的代码。您进入循环,然后测试第一个元素 (i=0) 是否等于键。如果不是 ( else),则立即返回而不搜索数组的其余部分。

要搜索,您必须搜索整个数组。

for(int i=0;i<arr.length;i++)
{
    if(arr[i]==key)
       return "YESS";
}
// if we get here we searched the entire array
return "NOOO";

推荐阅读