0
        /**sortedTemps
     *@ return a sorted (in descending order ) temperatures
     */
    public double [] sortedTemps()
    {
    double sorted [] = new double[temp.length];
    for (int i = 0; i < temp.length ; i++)
       sorted[i] = temp[i];
       
   double hold; 
   double max;
   for (int i = 0 ; i < sorted.length - 1; i++)
        {
          max = indexOfLargestElement(sorted , sorted.length - i);
          hold = sorted[max];
          sorted[max] = sorted[sorted.length - i - 1];
          sorted[sorted.length - i - 1] = hold;
         }
        return sorted;
      }
    



 private double indexOfLargestElement ( double[] array, double size)
    {
        int index = 0;
        for ( int i = 1; i < size; i++ )
        {
            if ( array[i] > array[index] )
                index = i;
        }
        return index;
    }
}

DailyTemp.java:174: error: incompatible types: possible lossy conversion from double to int hold = sorted[max];

I set hold to double. I'm not sure why it is saying lossy conversion. I am calling my method indexOfLargestElement to return an array sorted in descending order. I'm not sure why my method keeps returning the error above. I know I'm converting a double to an int, but the data type for hold is double. I'm a beginner in java

  • 2
    max is a double value. You should only use integers for indexing arrays – ControlAltDel Nov 19 '21 at 13:48
  • See *"Possible lossy conversion" when subscripting* in the [duplink](https://stackoverflow.com/questions/51632152/what-does-possible-lossy-conversion-mean-and-how-do-i-fix-it). – Stephen C Nov 19 '21 at 13:55

0 Answers0