“你好世界”
这是我在网站上发表的第一篇文章,我是编程java课程的第5周。我应该提一下,我还是一个初学者。本周我的任务如下:
“创建一个(双)数组来存储以下分数。然后使用上述方法之一创建一个排序类。确保排序类处理双数组(double [] arrayName;)。创建一个客户端类来调用排序类。将分数数组传递给Sorting类。将数组从最小值排序到最大值并打印出已排序的数组。“
到目前为止我完成的工作是创建第一个收集和打印结果的类,它没有错误。我也创建了第二个类但我有一个我无法弄清楚的错误。我把这篇文章命名为我收到的错误。顺便说一句,我正在使用NetBeans(不是我最喜欢的程序)。无论如何,这是我的第二堂课的代码:
public class SortingClass {
public static void SortingClass ( double[] array )
{
double[] array1 = new double[]
{53.5, 60.3, 96.2, 53.3, 56.4, 52.7, 76.4, 77.5, 71.0, 78.2,
65.2, 59.3, 80.5, 92.1, 85.7, 78.7, 66.2, 88.8, 50.2, 73.4};
double temp;
int max;
for (int i = 0; i < array1.length - 1; i ++)
{
max = indexOfLargestElement ( array1, array1.length - i );
temp = array1[max];
array1[max] = array1[array1.length - i - 1];
array1[array1.length - i - 1] = temp;
}
}
public static double indexOfLargestElement ( double[] array1, int size)
{
int index = 0;
for ( int i = 1; i < size; i++ )
{
if ( array1[i] > array1[index] )
index = i;
}
return index;
}
}
我收到的错误是在以下行:
max = indexOfLargestElement ( array1, array1.length - i );
要回顾的错误消息是“不兼容的类型:从double到int的可能有损转换。”
答案 0 :(得分:0)
Java不允许您不小心将double
分配给int
,因为您将丢失数据。您应该让方法返回int
,或者将您的返回值明确地转换为int
。