Java:使用内置函数对数组进行排序时出错

我正在尝试使用array.sort(arr)对数组进行排序,但是有一个我不理解的错误。我尝试将数组重命名为不同位置的不同放置括号

public static int HW2K ()
    {     
      int [] arr = {50,40,60,20,10};
      int i = arr.length;
      int secondlargest = arr[i-1]; 

      Arrays.sort(arr);
      return secondlargest;  

    }

它应该返回第二大数字

lpb1983 回答:Java:使用内置函数对数组进行排序时出错

您尚未导入java.util.Arrays;

import java.util.Arrays;
public class SecondLargest{
  public static void main(String[] args) {
  HW2K();
}
    public static int HW2K() {
        int[] arr = { 50,40,60,20,10 };
        int i = arr.length; 
        Arrays.sort(arr);
        int secondlargest = arr[i - 2];
        System.out.println(secondlargest);
        return secondlargest;

        }
}
,

下面的命令应该起作用,如注释中所述,您应该首先对数组进行排序,然后选择所需的元素。还要注意,数组索引是从零开始的,因此对于第二大元素,您需要arr[i-2]

public static int HW2K ()
{     
      int[] arr = {50,10};
      Arrays.sort(arr);
      int i = arr.length;
      int secondlargest = arr[i-2];     
      return secondlargest;  
}
,

如果要在数组中接收第二大元素,则必须先对数组进行排序,然后再对其进行排序,然后再确定索引为[length-2]的元素。

public static int HW2K()
{
    int [] arr = {50,10};
    int i = arr.length;
    //int secondlargest = arr[i-1];

    Arrays.sort(arr);

    int secondlargest = arr[i-2];

    return secondlargest;
}
本文链接:https://www.f2er.com/3143775.html

大家都在问