我有两个浮点类型的数组
float[] a = new float [100];
float[] b = new float [100]; 我希望执行以下操作
for (int i=0; i<100; i++) {
a[b[i]]++ // Or a[b[i]] + a[b[i]] + 1;
}发现精度可能丢失的错误:要求的浮点数: int
发布于 2012-02-18 00:28:19
a[b[i]]b[i]是一个浮点型,所以您尝试使用一个浮点型作为数组的索引。错误消息告诉您使用的是浮点型,但需要的是整型。
发布于 2012-02-18 00:27:23
不能使用"b“数组返回的浮点数来访问"a”数组。您必须强制转换为int。
发布于 2012-02-18 00:27:28
数组的索引是整数,所以您不能使用浮点数来尝试访问数组中的特定元素。您需要更改数组的类型,或者将浮点型从b[i]转换为整数,然后将其用作访问a的索引。
https://stackoverflow.com/questions/9331849
复制相似问题