これは私の現在の検索方法で印刷しようとすると:それは以前にバブルへのユーザー入力(「NUMERO」)から検索しのJava - バイナリサーチの偶然のすべて
public static int search(int[] array, int numero) {
int start = 0;
int end = array.length - 1;
int center;
while (start <= end) {
center = (start + end)/2;
if (array[center] == numero) {
return center;
} else if (array[center] < numero) {
start = center + 1;
} else {
end = center - 1;
}
}
return -1;
}
が見つかった配列をソートメインメソッドで。
私が理解しようとしているのは、見つかった最初のものだけでなく、配列内のすべての一致をどのように印刷するかです。 私はListに結果を追加してMainに戻すことを考えていましたが、最初の結果で無限ループが発生し、プログラムがクラッシュするまでListに繰り返し追加されました。
私は本当にこれにいくつかの助けに感謝します。 ありがとうございます!
を置くよ、あなただけのも 'start'または' end'の値を変更するために覚えていますあなたがそれを追加するときには - しかし、あなたは両方のインデックスをチェックしなければならないでしょう。中央が反復価値の真ん中に上がることができるからです。 –