boolean来检测数组中的元素

时间:2013-10-29 20:40:35

标签: java arrays loops boolean

public static boolean linearSearch(int[] array, int target):此方法应将int数组作为输入 以及一个 INT 。它应该回来 真正 如果元素 目标 存在 在 排列 。它应该通过检查每个元素来做到这一点 排列 一次一个地顺序开始

从数组的开头直到结束。该方法应该返回 假 如果元素是 不存在。

public class ArrayUtilities{
  public static void main(String[] args){
    int[] array1= {1,2,3,4,5};
    int target1 = 2;
    linearSearch(array1,target1);
  }

    public static boolean linearSearch(int[] array, int target){
      int x=0;
      for(int i = 0; i< array.length; i++){
        if(array[i] == target){
          return true;
    }
        else{
          x++;
        }
      }
      if(x == 0){
        return false;
      }
      return linearSearch;//**error here!**
}
}

这是我为这个问题写的代码。但是我在返回linearSearch时遇到了错误。 我不明白为什么。 提前谢谢你!

错误说: 符号:变量linearsearch 位置:类ArrayUtilities

5 个答案:

答案 0 :(得分:2)

如果找到匹配项,那么你马上就会返回真的很好。

但我不明白x变量的目的。我会完全删除它(并从else中删除if)。

如果你完成for循环,那么你还没有找到它,你可以在那里返回false。第return linearSearch行没有任何意义。在for循环结束后只有一行:return false;

答案 1 :(得分:1)

为什么有条件的&#34;否则&#34;在末尾?如果你的循环结束而没有找到任何匹配,则返回false,只要你找到匹配就返回true。我的意思是,一旦找到匹配,返回true,如果你结束迭代而没有找到任何东西,则返回false。

    public static boolean linearSearch(int[] array, int target){
      for(int i = 0; i< array.length; i++){
        if(array[i] == target){
          return true;
    }
   }
    return false;
  }

答案 2 :(得分:0)

return语句后面需要一个布尔值或变量。 linearSearch(没有任何参数)既不是那些。

答案 3 :(得分:0)

决定你要返回什么,我看到你返回true,即。布尔值,你也试图返回线性搜索,我不知道那是什么。它必须是真或假。

答案 4 :(得分:0)

public boolean check;
public static boolean linearSearch(int[] array, int target){
    check = false;
    for(int i = 0; i < array.length; i++){
        if(array[i] == target){
            check = true;
        }
    }
    return check;
}