我已经读过一个文件并要求变量是双倍的,因为它们是小数。所以这样做了:
String[] data = list.split("\\t");
homes = Double.parseDouble(data[0]);
rate = Double.parseDouble(data[1]);
我现在正试图将数据放入数组中,但是收到以下错误:
可能损失精度
必需:int
发现:双数组
我需要将变量homes和rate放在一个数组中以进行计算,并且需要它们是双倍的,因为rate是十进制的百分比:
private boolean [][] place = new boolean [homes][rate];
如何停止此错误?
答案 0 :(得分:2)
您收到错误是因为您需要使用整数大小而不是double
来初始化数组。所以你需要将双精度转换为整数。
更改
private boolean [][] place = new boolean [homes][rate];
到
private boolean [][] place = new boolean [(int)homes][(int)rate];
答案 1 :(得分:0)
数组使用整数位置进行索引。没有插槽号9 3/4;那只存在于哈利波特中。你必须想到一个如下所示的数组:{true, false, true}
- " 1.75"的价值是什么?!?
如果你想"索引"使用任意值,你可能正在寻找一个字典,又名java.collections.Map
,它将键(如9.75)映射到值;或使用从键到索引的转换表。