私は10進数を配列に入れてバイナリ検索を使って検索しようとしています。これは私のコードです。私はこれを使って番号45.3を取得する必要があり、私は間違って何をしているのか分からないので、助けてください。バイナリ検索問題の宿題
class Project3
{
public static void main(String[] args)
{
double[] data= new double[6];
data[0]=-3;
data[1]=10;
data[2]=5;
data[3]=24;
data[4]=45.3;
data[5]=10.5;
binarySearch(data[4]);
}
public boolean binarySearch(int key)
{
int size=6;
int low=0;
int high=size-1;
while(high>=low)
{
int middle = (low + high)/2;
if(data[middle] == key)
{
return true;
}
if(data[middle] < key)
{
low=middle+1;
}
if(data[middle]>key)
{
high=middle-1;
}
}
return false;
}
}
バイナリ検索は、あなたがあなたの方法にint型を渡す – rafid059
ソートされた配列でのみ動作します。どうして? – ryekayo
Javaの小数点以下は?それは参考になりますか?これはあなたにとって便利です:http://stackoverflow.com/help/how-to-ask –