簡體   English   中英

可能的精度損失要求int發現雙精度數組

[英]possible loss of precision required int found double array

我已讀取文件,並要求變量為雙精度數,因為它們是小數。 因此,請執行以下操作:

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];

如何停止此錯誤?

之所以會出現錯誤,是因為您需要使用Integer大小而不是double s初始化數組。 因此,您需要將雙精度數轉換為整數。

更改

private boolean [][] place = new boolean [homes][rate];

private boolean [][] place = new boolean [(int)homes][(int)rate];

根據定義, 數組使用整數位置進行索引。 沒有插槽號9 3/4; 那只存在於哈利·波特中。 您實際上必須考慮一個看起來像這樣的數組: {true, false, true} -“ 1.75”的值是多少?

如果要使用任意值“索引”,則可能正在尋找一個字典 ,又名java.collections.Map ,它將鍵(如9.75)映射到值; 或使用從鍵到索引的轉換表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM