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
答案 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;
}