这是我的代码。
遇到了完全不同的错误:
public class BinarySearch {
public static int binsearch(int key, int[] a)
{
int lo = 0;
int hi = a.length - 1;
while (lo < hi)
{
int mid = (lo + hi) >> 1;
key < a[mid] ? hi = mid : lo = (mid + 1);
}
return lo--;
}
}
编译时出现错误。
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error on tokens, Expression expected instead
Syntax error on token "]", delete this token
Syntax error, insert "]" to complete Expression
如果我将“<”更改为“>”,则为
key > a[mid] ? hi = mid : lo = (mid + 1);
遇到了完全不同的错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error on token ">", -> expected
我对Java中的三元运算符用法感到困惑。 毕竟,这段代码在C++中可以正常工作。