java基础 二分查找 请大虾们看看有什么错?我怀疑是安装jdk失败了。
发布网友
发布时间:2024-03-07 01:27
我来回答
共4个回答
热心网友
时间:2024-03-13 10:33
if(a[midPos] < x) {
startPos = minPos +1;
}
if(a[mifPos] == x) {
return midPos;
}
代码有问题!那个midpos这个变量写错了!一个是: startPos = minPos +1;另一个是 if(a[mifPos] == x) {。你改下试试看!
热心网友
时间:2024-03-13 10:34
检查下你的大括号是多了还是 少了 。。。
热心网友
时间:2024-03-13 10:36
if(a[midPos] < x) {
startPos = minPos +1;
}
if(a[mifPos] == x) {
return midPos;
}
哪里来的minPos和mifPos,还有,int endPos = a.length-1;数组是从0开始不是1开始,while里面第一个以后的if要用else if,要不你第一个if改变了midPos它就进入另一个if再判断了.
热心网友
时间:2024-03-13 10:32
其实你用eclipse开发很容易找到错误的,用记事本编程真的很累人。
if(a[midPos] < x) {
startPos = minPos +1;//错误minPos改midPos
}
if(a[mifPos] == x) {//错误mifPos改midPos
return midPos;
}