每次通过后如何打印剩余的数据?

问题描述 投票:0回答:1

我正在为学校解决这个问题

“编写一个二进制搜索程序,该程序在提供的数据集中寻找以下3个值74、35、62(是,我知道...)。您的应用程序应在每次通过后打印出剩余数据。数据集:23 27 29 31 35 39 40 41 52 66 71 74 75 90 99“

[目前,我编码到查找值的位置。我只是不知道如何在每次通过后打印出剩余的数据。请帮助。

这是我的代码:

import java.util.Scanner;

class BinarySearchTracing{
  public static void main(String args[]){
    Scanner scan = new Scanner (System.in);
    int[] d = {23, 27, 29, 31, 35, 39, 40, 41, 52, 66, 71, 74, 75, 90, 99};
    int start = 0;
    int middle = 0;
    int end = d.length - 1;
    int location = -1;
    boolean found = false;

    System.out.println("Enter the look for value: ");
    int lookfor = scan.nextInt();
    scan.close();

    while(start <= end && found == false) {
        middle = (start + end) / 2;
        if(d[middle] == lookfor) {
            found = true;
            location = middle;
        }
        else if(d[middle] < lookfor) {
            start = middle + 1;
        }
        else {
            end = middle - 1;
        }
    }
    System.out.println(location);
  }
}
java binary-search
1个回答
0
投票

要在两个索引之间打印给定数组的子数组,可以使用following methods之一:

  • Arrays.copyOfRange
  • System.arraycopy等
© www.soinside.com 2019 - 2024. All rights reserved.