代码之家  ›  专栏  ›  技术社区  ›  valik

查找数组中的最大数

  •  -7
  • valik  · 技术社区  · 8 年前

    我写了一个简单的代码来返回数组中的最大值,我用字符串数组试过了,效果很好,但现在我用int数组试过了,它只返回-1作为默认值

         private static int highestNum(int[] arr) {
        int high = arr[0];
        for (int i = 0; i < arr.length-1; i++) {
            if (arr[i] > high) {
                high = arr[i];
            }
        }
        System.out.println(high);
        return high;
    }
    

    我是不是漏了什么?谢谢您

    2 回复  |  直到 8 年前
        1
  •  2
  •   KevinO    8 年前

    价值 high 仅当数组中的下一个元素的值大于 for 循环。

    if (arr[i] > high) {
       high = arr[i];
    }
    

    for (int i = 0; i < arr.length; ++i) {
      high = Math.max(high, arr[i]);
    }
    

    你想更新吗 高的 当当前元素的值大于先前找到的最高值时。

        2
  •  1
  •   Pandey Amit    8 年前

       private static int highestNum(int[] arr) {
            OptionalInt max = IntStream.of(arr == null ? new int[] {}: arr).max();
            return (max.isPresent() ? max.getAsInt() : -1 ); // -1 assuming default 
       }