【发布时间】:2016-09-06 13:11:09
【问题描述】:
我对编码很陌生,所以没有仇恨。我正在尝试编写二进制搜索,但是由于某种原因我的代码不起作用。
public class CodeSkillsCheck {
/**
* @param args the command line arguments
*/
int[] value = {5,10,15,20,25,30,35,40,45,50};
int length;
public boolean binarySearch(int num)
{
int small = 0;
int big = value.length;
while(big >= small)
{
int mp = (small+big)/2;
if(value[mp] < num)
{
big = mp - 1;
} else {
big = mp + 1;
}
}
return false;
}
public static void main(String[] args) {
System.out.println(binarySearch(46));
}
}
我该怎么做才能让它发挥作用?提前谢谢!
【问题讨论】:
-
对于二进制搜索,您的数组应该被排序
-
究竟是什么不起作用?你使用了标签“compiler-errors”,你得到了什么错误?
-
我收到以下错误:'线程“main”中的异常 java.lang.RuntimeException:无法编译的源代码 - 表达式的非法开始'@QBrute
-
好吧,您在
main中定义了一个方法。这不行,它必须在它之外。 -
正确,因此错误消息应该在您的问题中。接下来,不要尝试运行无法编译的代码——你不应该遇到异常。
标签: java loops compiler-errors binary-search