Why am I getting the Possible lossy conversion from double to int
error and how can I fix it?
public class BinSearch {
public static void ma
Change all your variables used as array indices from double to int (i.e. the variables j
, first
, i
). Array indices are integer.
Change the variable types as below. Array indices must be of type int.
public class BinSearch {
public static void main(String [] args)
{
double set[] = {-3,10,5,24,45.3,10.5};
int l = set.length;
double temp;
int i, j, first;
System.out.print("Before it can be searched, this set of numbers must be sorted: ");
for ( i = l-1; i>0; i--)
{
first=0;
for(j=1; j<=i; j++)
{
if(set[j] < set[first])//location of error according to compiler
{
first = j;
}
temp = set[first];
set[first] = set[i];
set[i] = temp;
}
}
}
}
The array / loop indexes should be ints, not doubles.
When attempting to access set[j]
for example, it complains about treating j as an int.