从 double 到 int 的可能有损转换

2022-01-13 00:00:00 int type-conversion double java

为什么我会收到 Possible lossy conversion from double to int 错误,我该如何解决?

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 main(String [] args)
    {
        double set[] = {-3,10,5,24,45.3,10.5};
        double l = set.length;
        double i, j, first, temp;
        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;
            }
        }
    } 
}

如您所见,我已经尝试在声明变量时将 int 替换为靠近顶部的 double ,但它似乎没有完成这项工作.

As you can see, I've already tried replacing int with double near the top when declaring variables but it doesn't seem to do the job.

推荐答案

将所有用作数组索引的变量从 double 更改为 int(即变量 jfirst, i).数组索引是整数.

Change all your variables used as array indices from double to int (i.e. the variables j, first, i). Array indices are integer.

相关文章