风中之心 2012-05-21 15:10
浏览 212
已采纳

为啥不能查询负数

我用此方法不能查询数组里面的负数
代码如下:

            import java.util.*;
          public class SearchDemo {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        //第一一个变量用来接收数组的索引
        int index = 0;
        //定义一个变量用来查询是否存在数组中
        int searchNum = 0;
        //定义一个数组
        int length = 5;
        int[] ary = new int[length];
        //循环为数组赋值
        for(int i=0; i<length; i++) {
            System.out.print("请输入第"+(i+1)+"个数:");
            ary[i] = input.nextInt();
            System.out.println();
        }
        System.out.println("**************************************");
        //用来输出输出
        Arrays.sort(ary);
        String ary1 = Arrays.toString(ary);
        Arrays.toString(ary);
        System.out.println("所有接收的数据为:"+ary1);
        System.out.print("请输入要查询的数:");
        searchNum = input.nextInt();
        index = Arrays.binarySearch(ary,searchNum);
        System.out.println(index);

            }
      }
  • 写回答

1条回答 默认 最新

  • chenhailong118 2012-05-21 21:40
    关注

    可以的

    [code="java"]
    import java.util.Arrays;
    import java.util.Scanner;

    /**

    • @author chenhailong
    • 下午9:32:18
      *
      /
      public class SearchDemo {
      public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      // 第一一个变量用来接收数组的索引
      int index = 0;
      // 定义一个变量用来查询是否存在数组中
      int searchNum = 0;
      // 定义一个数组
      int length = 5;
      int[] ary = new int[length];
      // 循环为数组赋值
      for (int i = 0; i < length; i++) {
      System.out.print("请输入第" + (i + 1) + "个数:");
      ary[i] = input.nextInt();
      System.out.println();
      }
      System.out.println("
      *************************************");
      // 用来输出输出
      Arrays.sort(ary);
      String ary1 = Arrays.toString(ary);
      Arrays.toString(ary);
      System.out.println("所有接收的数据为:" + ary1);
      System.out.print("请输入要查询的数:");
      searchNum = input.nextInt();
      index = Arrays.binarySearch(ary, searchNum);
      System.out.println(index);

      }
      }
      [/code]

    result:

    请输入第1个数:1

    请输入第2个数:2

    请输入第3个数:12

    请输入第4个数:-12

    请输入第5个数:-1


    所有接收的数据为:[-12, -1, 1, 2, 12]
    请输入要查询的数:-1
    1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器